Privacy Policy

Effective May 2026

Back to App

What We Collect

Swift Type collects only the minimum data required to deliver the service. Here is exactly what we collect and why:

Account identity — Your name and email address. If you sign in with Google or GitHub, a profile image from that OAuth provider may also be collected. Used to create and identify your account.

Typing session data — WPM, accuracy, duration, mode, and keystroke-level statistics. Powers the adaptive engine and coaching insights.

Practice Mode data — Practice profiles, lesson progress, mastery-check attempts, gate results, weak keys, and certification readiness. Target text and typed text snapshots may be processed during scoring; Swift Type stores derived metrics, attempt results, and readiness state.

Team data — Team membership, roles, display names, invite/join-code metadata, assignments, team sessions, grading records, and team analytics.

Team Messages — Message text, announcements, pinned status, moderation status, author, and timestamps. Messages are visible to active members of the team.

Swift AI conversations — Your chat messages with Swift AI are stored on Cloudflare R2 (encrypted object storage). Used for conversation history and coaching continuity.

Technical metadata — Standard server logs (request timestamps and error traces). Used for diagnostics, abuse prevention, and service reliability. Retained for 30 days maximum.

How Swift AI Uses Your Data

When you send a message to Swift AI, here is exactly what happens:

Your recent typing performance (WPM, accuracy, weak keys, session history) is packaged into the AI's context. It is not sold, exposed as a standalone dataset, or shared outside the coaching request path.

The full context (your typing stats + your message) is sent to the Google Gemini API under our API key. Google processes it to generate a coaching response. Data handling is governed by Google's Gemini API Data Usage Policies.

If you belong to a team, recent team messages and announcements visible to you may be included as read-only context so Swift AI can answer questions about team instructions. Team-message content is treated as data, not as instructions to the AI system.

The AI response is streamed back and stored in your chat transcript on Cloudflare R2. Only you (via authenticated session) can access your transcripts.

We do not use your AI conversations to train any models. We do not share your conversations with other users or third parties.

Data Storage & Security

Database — Account data and session statistics stored in PostgreSQL on Neon (serverless Postgres). Encrypted at rest and in transit using TLS 1.3.

AI chat transcripts — Stored on Cloudflare R2. Access requires a valid authenticated session token. No public URLs are generated.

Team messages and assignments — Stored in PostgreSQL and protected by authenticated team membership and role checks.

Session tokens — JWT tokens stored as HTTP-only, Secure, SameSite=Lax cookies. Cryptographically signed and expire after 30 days.

Password security — If you sign in with email and password, your password is stored only as a bcrypt hash — plain-text passwords are never stored. If you sign in with Google or GitHub, we receive only OAuth account information required by the provider flow and basic profile info.

Third-Party Services

Swift Type uses the following third-party services to operate:

Google Gemini AI — AI coaching responses. Subject to Google's Gemini API Data Usage Policies.

Google OAuth — Identity verification for Google sign-in when enabled for the deployment. Subject to Google's Privacy Policy.

GitHub OAuth — Identity verification for GitHub sign-in. Subject to GitHub's Privacy Policy.

Neon — PostgreSQL hosting. EU/US data centers. SOC 2 Type II compliant.

Cloudflare R2 — Object storage for AI transcripts. Data is not scanned or indexed by Cloudflare for advertising.

Pusher — Realtime delivery for team messages when configured. If realtime is unavailable, Swift Type falls back to polling.

Resend — Transactional email for account, password-recovery, security, and team-invite flows.

Vercel — Application hosting and CDN. Processes request metadata per their privacy policy.

Your Rights & Data Control

Data deletion — You may request deletion of your account and associated data such as typing history, AI transcripts, and personal team membership data at any time. We process requests within 30 days, subject to legal and team-audit retention needs.

Data export — You may request an export of your typing history, Practice Mode data, AI conversation transcripts, and personal team records in machine-readable format.

Optional AI usage — Swift AI is entirely optional. Full typing practice is available without signing in or using the AI coach.

GDPR / CCPA — EU and California residents have rights to access, rectify, erase, and restrict processing of their personal data.

Last updated May 2026. Questions or data requests: privacy@swift-type.com.ng