Information We Collect
We collect the information needed to provide accounts, typing practice, public profiles, support messages, and site operations.
- Account information: email address, username, display name, hashed password for credential accounts, OAuth account identifiers, and authentication session data.
- Profile information: profile picture URL, bio, and profile link. Username, profile picture, bio, profile link, and public score information may be visible to other users.
- Typing data: typing scores, speed, accuracy, selected test settings, practice statistics, train progress, and color/theme preferences.
- Contact information: name, email address, and message content when you submit the contact form.
- Technical and usage data: IP address, browser information, device information, pages visited, timestamps, and diagnostic data collected by hosting, analytics, and security tooling.
- Local device data: some settings, train progress, and dismissed support prompts may be stored in your browser through localStorage or similar browser storage.
How We Use Information
- Provide typing tests, train mode, progress tracking, profiles, leaderboards, account login, and account deletion.
- Store and display profile pictures, public profile information, and leaderboard results.
- Respond to contact requests and support messages.
- Protect the service, debug issues, prevent abuse, and maintain site reliability.
- Understand site usage, improve TypeCafe, and keep the experience reliable.
Cookies, Analytics, and Local Storage
TypeCafe uses authentication cookies and similar storage so accounts stay signed in and protected. The site also uses browser localStorage for local preferences and progress-related features.
TypeCafe uses Google Analytics to understand site usage. This service may set or read cookies and collect usage data according to its own policies and controls.
Service Providers
We rely on third-party providers to operate TypeCafe. These providers process information only as needed to provide their services to us.
- Hosting and infrastructure: Vercel and database/storage providers used to run the site and store application data.
- Authentication: NextAuth/Auth.js, Google OAuth, GitHub OAuth, and credential login infrastructure.
- Profile image storage: Vercel Blob stores uploaded profile pictures as public image files.
- Email: Nodemailer and the configured email provider send contact form submissions.
- Analytics: Google Analytics helps measure site usage and performance.
- Support links: Buy Me a Coffee and Ko-fi if you choose to visit those external sites.
Sharing and Public Information
We do not sell your personal information. We may share information with service providers, when required by law, to protect TypeCafe or other users, with your consent, or in connection with a merger, acquisition, or similar business transfer.
Public profile information and leaderboard results are intended to be visible to other users. Do not put private or sensitive information in your username, bio, profile link, or profile picture.
Retention and Deletion
We keep account and typing data for as long as your account exists or as long as needed to provide the service, comply with legal obligations, resolve disputes, or prevent abuse. Contact form emails may be retained as needed to respond and keep a record of support requests.
You can update profile details from your account page and delete your account from the profile edit flow. Account deletion removes your user record and related application records where supported by the database relationships. Some logs, backups, email records, or security records may remain for a limited period.
Your Choices and Rights
You may request access, correction, or deletion of personal information by contacting us. Depending on where you live, you may have additional rights under local privacy laws.
You can also control cookies and local browser storage through your browser settings. Blocking required authentication storage may prevent account features from working.
Security
We use reasonable technical and organizational safeguards for the size and nature of the service, including hashed passwords for credential accounts and server-side handling of sensitive credentials. No internet service can guarantee perfect security.
Children
TypeCafe is not directed to children under 13, and we do not knowingly collect personal information from children under 13. If you believe a child has provided personal information, contact us so we can review and delete it where appropriate.
International Transfers
TypeCafe and its providers may process information in Canada, the United States, or other countries where infrastructure and service providers operate. Privacy laws may differ from those in your location.
Changes
We may update this Privacy Policy as TypeCafe changes. The updated policy will be posted on this page with a new last updated date.
Contact
Questions or privacy requests can be sent by email to slater.r.gordon@gmail.com or through the contact page at https://typecafe.app/contact.