Recording & retention
How call recording, retention, and consent decline work in Callina.
Callina records voice calls when the practice has opted in. All audio + transcripts are stored in EU-only data centres (Austria + Germany) with configurable retention.
Consent
Set the mandatory consent disclosure under Callina → Assistant Configuration → Recording. The text is auto-prepended to the greeting on every call. If the caller verbally refuses ("Nein, keine Aufzeichnung"), Callina sets consentDeclined=true on the session and — when Auto-delete on decline is on — purges the audio + transcript at call end.
Retention
Default: 30 days. Configurable per tenant from 1 to 365. Expired data is purged by the nightly retention job; see chat-data-retention.ts.
Where the data lives
| Asset | Storage |
|---|---|
| Audio (raw) | Twilio recordings or self-hosted WebRTC capture |
| Transcript | PostgreSQL (cc_call_sessions.transcript) |
| Variables | PostgreSQL (cc_call_sessions.metadata) |
Compliance export
For audits or legal requests, download a signed bundle: Search → [session row] → Compliance Export ZIP. The bundle contains transcript.txt, transcript.json, transcript.pdf, and a manifest.json signed with RSA-SHA256 (or HMAC-SHA256 fallback). See API reference for the underlying endpoint.
DSGVO Art. 17 — right to erasure
Callers can request deletion. Use Callina → GDPR → Delete by caller number. All sessions, transcripts and consent records for that number are hard-deleted from primary + backups within 30 days.