Privacy Policy
Speecho ("we", "our", or "us") is operated by Maksym Soloviov, an individual entrepreneur (Фізична особа-підприємець / FOP) registered in Ukraine. Registration number and registered business address are available on written request at support@speecho.app. This policy explains what data we collect, how we use it, and your rights under GDPR, CCPA, and similar laws.
1. Data We Collect
- Account data: email address, and - if you register with an email and password - a hashed password. If you sign in with Google instead, Google sends us your email address, your name and your Google account identifier; we store those and never receive or store a password for that account. Because Google confirms the address itself, an account created or linked this way counts as email-verified without a separate confirmation link.
- Transcription data: file name, detected language, duration, and the resulting text. Audio files are sent to the speech recognition providers listed in section 5. By default, audio is not stored on our servers after processing completes. Generated AI summaries, notes, chapters and translations are stored alongside the transcript.
- Kept audio (optional): if you enable the "Keep audio" option before uploading, or before starting a live subtitles or live interpreter session (it is off by default), a compressed copy of the recording is stored in private cloud storage so you can play it back next to the transcript. It is never made public, is deleted automatically after 90 days together with the transcript, and can be deleted separately at any moment with the "Delete audio" button - the transcript stays.
- Handwriting scans: photos you upload for text recognition are processed in memory and streamed to the AI providers listed in section 5 for recognition. The images are never written to disk or stored - only the recognized text is saved, under the same 90-day rule as transcripts.
- Caption videos: a video you upload for subtitle burning is processed on our server; the finished subtitled video is kept in private cloud storage so you can download it again and is deleted after 30 days, or sooner if you delete the transcription or your account. The extracted transcript follows the normal 90-day rule.
- Transcript chat: questions you ask about a transcript (and the AI answers) are processed transiently through the AI providers listed below and are not stored on our servers. The chat thread exists only in your browser.
- Text-to-speech data: the text you submit is sent to the speech synthesis providers listed in section 5. The submitted text and the generated audio file are stored (audio in private cloud storage) so you can replay and download the clip, and are automatically deleted after 90 days - or immediately when you delete the clip or your account.
- Live subtitles data: when you start a live subtitles session, microphone audio is streamed in real time through our server to the speech recognition providers listed in section 5, for recognition and optional translation. The audio is relayed for recognition and is not stored by us unless you turn on "Keep audio" for the session; a kept recording follows the same 90-day rule and "Delete audio" button as any other kept audio. The resulting transcript is saved to your history when the session ends. In conversation mode, if you turn on "Speak the translation aloud", the translated text of each turn is sent to the providers listed in section 5 to be read aloud in a synthetic voice; that spoken translation is never stored. You can later run a kept recording through the regular transcription pipeline for a more accurate transcript: the audio is then sent to the speech recognition providers listed in section 5, and a second copy is kept with the new transcript under the same rules. If you explicitly enable the live viewing link during a session, the live transcript (text only, never audio) is visible in real time to anyone who has that link; the link is off by default and can be disabled at any moment. If the link is still enabled when the session ends, it keeps serving the saved transcript as a regular share link until you revoke it from your dashboard or delete the transcription. If you connect "Captions in a meeting", the caption lines of the session (the original or the translation, as you choose; text only, never audio) are also sent to the platform whose caption link you paste: Zoom or YouTube Live, from our server, or OBS on your own computer, straight from your browser. They are sent only while the session runs and you can disconnect at any moment. Once delivered, they are shown and kept under that platform's own terms and settings. The caption link carries the platform's access token: it is kept in memory for the session and in our database only so an interrupted session can resume, is never written to our logs, and is removed when the session ends (for a session that was cut off, once it can no longer be resumed).
- Live interpreter data: when you start a live interpreter session, audio from your microphone or from a browser tab you share is streamed in real time through our server to the translation providers listed in section 5. The translated voice is never stored. The original audio is not stored unless you turn on "Keep audio" before you start; the recording then follows the same rules as any other kept audio. The original and the translated text are saved to your history when the session ends. If you switch on the listen link, anyone who has it hears the translated voice and reads the translated text in real time, but never gets the original audio or text. The link is off by default and can be switched off or replaced with a new one at any moment.
- Payment data: all payment processing is handled by Paddle as our Merchant of Record. We store only the order ID and the amount of credits added. We never see, store, or process your card details.
- Usage data: IP address (used for rate limiting, not retained beyond the session record below), request timestamps.
- Signed-in devices: each time you sign in we create a session record with the date, a truncated IP address (the last part is dropped, so
203.0.113.42is stored as203.0.113.x) and the first 200 characters of your browser's user-agent string. This is what the device list in your account shows, so you can recognise and sign out a device that is not yours. A record is kept for 31 days after the device was last active and for 7 days after you sign it out. - Security settings (optional): if you turn on two-factor authentication we store the shared secret for your authenticator app and hashed copies of your recovery codes. If you add a passkey we store its public key and the name you give it; the private key never leaves your device. Both are deleted when you turn the feature off or delete your account.
- Analytics data: aggregated, anonymous traffic data (page views, country, device type) collected by Cloudflare Web Analytics, and cookieless product analytics (page views, feature-usage events) collected by PostHog and processed in the EU. Neither sets cookies or persistent identifiers; no personal identification.
2. How We Use Your Data
- To provide and operate the transcription service.
- To send transactional emails (payment receipts, transcription and text-to-speech results, and security notices when your password, email address or two-factor settings change). We use Resend for email delivery.
- To prevent abuse via rate limiting.
- To monitor errors and improve service stability via Sentry (only error context, no user content).
- To understand aggregate traffic patterns via Cloudflare Web Analytics and feature usage via PostHog (cookieless, processed in the EU).
- To enable optional public sharing of individual transcriptions when you explicitly request it. Sharing is per-transcription, opt-in, and revocable from your dashboard at any time.
3. Data Retention
- Transcription history (file name, text, metadata): automatically deleted after 90 days. You can shorten this to 7 or 30 days for your own account in the account panel, and everything older is then deleted on that schedule instead.
- Kept audio (opt-in "Keep audio" recordings): deleted together with the transcription - after 90 days, when you delete the transcription or your account, or immediately when you use "Delete audio" on the transcript.
- Account data: retained until you delete your account.
- Session records (signed-in devices): 31 days after the device was last active, or 7 days after it is signed out.
- Demo mode: opening the app without an account shows sample data only. No session is created on our servers and nothing you do there is stored; a single flag in your browser's
localStorageremembers that you chose it, and goes when you leave the demo or sign up. - Former guest sessions: guest sessions (use without an account) were offered until October 2026. Data left by one is deleted on the same schedule as before: an empty session within 24 hours, its transcriptions under the 90-day rule above. A session that still holds purchased credits is kept until those credits are moved to an account or refunded.
- Caption renders (subtitled videos): deleted 30 days after the render, or sooner together with the transcription - when you delete it or your account, or when it expires under a shorter history period you chose.
- Text-to-speech clips (submitted text and generated audio): automatically deleted after 90 days, or immediately when you delete the clip or your account.
- Payment records: retained for 7 years for tax and accounting compliance.
- Share links: when you opt to share a transcription, a random token is stored alongside it and remains valid until you disable sharing from your dashboard or until the parent transcription is deleted (under the 90-day rule above). Disabling sharing immediately invalidates the link for all visitors.
4. How We Protect Your Data
- In transit: every connection is encrypted with TLS - your browser to us, and us to every provider listed below. The site is served over HTTPS only.
- At rest: the database and the private storage holding kept audio, voice clips and caption videos are encrypted at rest by their providers (Neon and Cloudflare R2). Stored audio is never public: it is served only through short-lived links to the account that owns it.
- Audio by default: uploaded and live audio is streamed for recognition and not kept unless you turn on "Keep audio" yourself. Handwriting photos are never written to disk at all.
- Passwords: stored only as a bcrypt hash. We cannot read your password, and nobody at Speecho can look it up. Sign-in codes and password-reset tokens are stored as hashes too, so a copy of the database cannot be replayed. Recovery codes for two-factor authentication are hashed the same way. The authenticator secret itself has to be readable to check your codes, so it is stored as-is in the encrypted database.
- Sessions: changing your password signs out every other device automatically, and you can end all other sessions yourself at any time from the account panel.
- Payment details: card data goes straight to Paddle, our Merchant of Record. It never reaches our servers, and we could not store it if we wanted to.
- AI providers: the providers listed below process your audio and text for inference only. None of them train models on it.
- Your controls: you can delete any transcript, any kept recording and your whole account at any time, and deletion removes the stored audio as well as the text. You can also download everything we hold on your account as a zip file (transcripts, voice clip texts, payment and usage history) from the Privacy section of your account, without asking us.
Speecho is run by one person, so the number of people who could reach production data is one. We do not hold a SOC 2 or ISO certification and do not claim one. If you find a security problem, please report it: see our security page.
5. Third-Party Services
We share data with these providers only to run Speecho. They process it on our behalf.
- Speech recognition, translation and AI: Soniox, Groq, OpenAI, Google (Gemini API), Replicate, ElevenLabs, DeepInfra
- Payments: Paddle
- Sign-in: Google
- Email: Resend
- Hosting and storage: Railway, Neon, Cloudflare
- Analytics and error monitoring: PostHog, Sentry
6. Cookies and Tracking
We do not use advertising or tracking cookies. Our PostHog analytics runs entirely without cookies or persistent browser identifiers. Authentication tokens are stored in your browser's localStorage for keeping you signed in. Cloudflare may set technical cookies necessary for security and basic functioning of the website. The sign-in page loads Google's sign-in widget from accounts.google.com; Google may set its own cookies to recognise that you are signed in to Google. That widget is loaded on the sign-in page only.
7. International Data Transfers
Our servers and database are hosted in the United States. The providers listed in section 5 may process data in the United States or the European Union. Speecho is operated from Ukraine, so account data may be accessed from there for support and administration. We use providers that comply with GDPR and standard contractual clauses for cross-border transfers.
8. Your Rights
Under GDPR, CCPA, and similar laws, you have the right to:
- Access the personal data we hold about you
- Request correction of inaccurate data
- Request deletion of your data ("right to be forgotten")
- Export your data in a portable format
- Object to specific processing activities
Deletion and export are self-service: both are in the Privacy section of your account and take effect immediately. For anything else, or if you cannot sign in, email us at privacy@speecho.app. We respond within 30 days.
9. Children's Privacy
The Service is not intended for users under 16 years old. We do not knowingly collect data from children. If you believe a child has provided us with data, please contact us immediately.
10. Changes
We may update this policy from time to time. The date at the top reflects the latest revision. When a change is material, we point it out on the website or in the app, and may also email registered users.
11. Contact
Questions? Email us at privacy@speecho.app.