The short version: we never store your transcripts. STUDIO scores call transcripts. We process each transcript in memory for a single run and do not store the full transcript anywhere. We keep only the derived analysis needed to show and re-display your results.
Data flow
Your transcript (uploaded, or pushed from your notetaker) -> processed in memory by our Cloudflare Worker -> sent to a third-party AI model provider for scoring -> scores + evidence assembled, validated, returned to you -> (optional) report emailed to your chosen recipients
What we store vs. don't store
| Data | Stored? | Where / how long |
|---|---|---|
| Full call transcript | No | Processed in memory only |
| Derived analysis (scores, confidence, short evidence excerpts, summaries, recommendations) | Yes | Cloudflare, keyed to a one-way SHA-256 hash of the transcript; retained indefinitely (no auto-expiry), deleted on request or account closure |
| Saved reports (Report History / auto-save, off by default) | Yes | Cloudflare storage; the full derived report incl. customer/company names and short excerpts; kept until you delete it or close the account |
| Rep performance trends (scores only, per rep) | Yes, if trends are on | Cloudflare; no transcript or excerpts; up to 24 months |
| Scorecard templates you create | Yes | Cloudflare, under your account |
| Usage counters | Yes (against a hashed email) | Cloudflare, rolling short windows |
| Application logs | Yes | No transcript content or model output; limited operational retention |
Hosting and sub-processors
- Cloudflare — hosting, database, and storage. SOC 2-audited infrastructure; data encrypted at rest.
- Third-party AI model provider (US) — performs the AI scoring. Transcript data sent via its API is not used to train models. SOC 2 audited.
- Cloudflare Email Routing — delivers lead notifications and report-copy emails.
- Clerk — sign-in / authentication (planned; not yet active in production).
We build on SOC 2-compliant providers and inherit their infrastructure controls. Our own formal SOC 2 program is planned as we move toward general availability.
Access control
- Identity-based access via Clerk: every request carries a signed session token (JWT) we verify on the server (issuer, audience, expiry, signature) before any processing.
- Access is granted to named users; no anonymous access to scoring.
Encryption
- In transit: TLS for all connections (browser → app, app → sub-processors).
- At rest: Cloudflare encrypts stored data.
Application security controls
- Input Guard — filters prompt-injection and obfuscation attempts in submitted content before it reaches the model; normalizes and bounds input size.
- Output Gate — validates model output before it's shown, blocking leaked instructions or unexpected content (fail-closed).
- Abuse controls — per-account rate limiting, daily quotas, and automatic lockout on repeated anomalous activity.
- Contained model calls — the scoring model runs with no tools, no secrets in the prompt, a single task, and bounded tokens and timeout.
Deletion requests
Full transcripts are never stored. The derived-analysis cache holds only scores plus short excerpts, keyed to a one-way hash; saved reports (Report History, off by default) and the scores-only rep-trend history are the other call-derived stores. All of it, along with templates and account data, is deleted on request or account closure. See our Data Handling Overview and Privacy Notice.
Questions
We're happy to complete security questionnaires and share our sub-processors' compliance reports on request: support@studio-moneyball.io.