For new accounts we may retain bounded campaign source/medium/name, referring hostname and entry path to understand acquisition. Full referrer URLs, URL queries, reset tokens and advertising identifiers are not stored in that account attribution record. Account export includes this record; deletion clears it. Operator-controlled test accounts are tagged separately from customer assessment analytics.
This page covers api.toneperfect.app and its API. The learner app has its own privacy policy. Contact: nik@toneperfect.app.
Audio and reference text
- Recordings are decoded and scored in memory on our server and discarded when the response is sent. They are not written to our database, not kept as files and not used to train models. The same applies to the homepage demo and the dashboard playground.
- Results (scores, the words of your reference text, timings) are kept for 24 hours under your
Idempotency-Keyso that a retry returns the same answer instead of charging twice, then deleted. Engine-internal output (raw) is never stored. - Usage records kept for billing and support: time, locale, audio duration, credits, status, latency and error code of each request. Refused requests (for example 402 or 429) are kept for 90 days without audio, text or key material.
Account data
- Email address and name; a password hash or, with Google sign-in, the identifier Firebase Authentication returns.
- API keys are stored only as hashes; the full key is shown once.
- Payments: Stripe holds card details. We store the Stripe customer, subscription and invoice identifiers, amounts and the credits they granted.
- Sign-in sessions last 14 days.
Website analytics
Pages on this site send a page-view event (page path, referring site, campaign tags, browser user agent and a random visitor identifier kept in your browser's local storage) to our analytics endpoint on toneperfect.app. No advertising cookies, no third-party trackers. Clearing site data resets the identifier.
Who processes data for us
| Provider | Purpose | Location |
|---|---|---|
| Hetzner Online GmbH | Runs the API gateway, database and scoring engine | Nuremberg, Germany |
| Netlify, Inc. | Hosts this website and forwards requests sent to api.toneperfect.app to our server (audio passes through in transit, not stored) | Global CDN (USA) |
| Stripe, Inc. | Payments and invoices | USA / Ireland |
| Google (Firebase Authentication, Cloud Firestore) | Google sign-in; website analytics events | USA / EU |
Business customers who need a data processing agreement should contact us before sending personal data.
Security
- HTTPS everywhere; HSTS on the website and the API.
- Keys and passwords are stored only as hashes; dashboard cookies are
HttpOnly,SecureandSameSite=Strict, and account actions require the dashboard's origin. - The scoring engine runs on a private network and only accepts requests from the gateway.
- Payment webhooks are signature-checked; credits are granted only from verified, fully paid invoices.
- Report a vulnerability to nik@toneperfect.app.
Your rights and deletion
Use Account data in the dashboard to export your data or request account deletion after reauthentication. Active billing and in-flight requests must be resolved first. Deletion removes your profile, credentials, keys and request content; financial reconciliation records remain tied to a pseudonymous internal ID. Email nik@toneperfect.app if you need assistance with retention requirements.