The short version: we never store your transcripts. Performance Radar scores sales-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 Anthropic (Claude) 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 KV, keyed to a one-way SHA-256 hash of the transcript, ≤ 30 days |
| Scorecard templates you create | Yes | Cloudflare D1, under your account |
| Usage counters | Yes (against a hashed email) | Cloudflare KV, rolling short windows |
| Application logs | Yes | No transcript content or model output; limited operational retention |
Hosting and sub-processors
- Cloudflare — hosting, database (D1), key-value storage (KV), and identity. SOC 2-audited infrastructure; data encrypted at rest.
- Anthropic (Claude) — performs the AI scoring. Transcript data sent via the API is not used to train models. SOC 2 audited.
- Transactional email provider — delivers report emails when the email feature is enabled.
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 Cloudflare Access (Zero Trust): every request carries a signed identity 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 D1 and KV storage.
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
Because full transcripts aren't stored and the derived-analysis cache auto-expires within 30 days, call-related data is short-lived by design. Templates and account data are 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 (Cloudflare, Anthropic) on request: info@projectmoneyball.com.