/privacy)Security → GDPR & Data Privacy (displayed as KVKK ve Veri Gizliliği when the portal language is set to Turkish) provides built-in, 100% optional telecommunications privacy and compliance tools.
All rules are Off by default on fresh installations. Administrators can keep everything disabled, enable only specific features, or apply a pre-configured regulatory preset in one click.
| Preset | Target Standard | Default Behaviour when Applied |
|---|---|---|
| Off / Custom | Default (no rules enforced) | All disclosures, beeps, auto-purge, and AI locks disabled |
| KVKK (TR — 6698) | Turkey Law No. 6698 & BTK | Pre-call Opt-Out (9), 180d recordings, 730d CDR anonymization |
| EU / UK GDPR | EU 2016/679, UK GDPR & ePrivacy | Explicit Opt-In (1), 90d recordings, 365d CDR anonymization |
| US CCPA / Two-Party & FCC | CIPA, CCPA/CPRA, 47 CFR § 64.1200 | Explicit Opt-In (1) + 15s periodic recording beep (MixMonitor B(15)) |
| HIPAA (Healthcare) | Protected Health Information (PHI) | Disclosure notice, 15s beep, 90d retention, Cloud AI Lock enabled |
| PCI-DSS v4.0 | Call center payment card safety | Pre-call Opt-Out (9), agent pause/resume, Cloud AI Lock enabled |
| LGPD / PIPEDA / POPIA / PDPA | Brazil, Canada, South Africa, Singapore, Australia | Explicit Opt-In (1) + 15s periodic beep, 180d recordings |
When enabled on inbound DID routes ([sub-privacy-consent] in extensions_inbound.conf):
notice): Plays the selected announcement sound before routing the call.optout): Plays the announcement and listens for the opt-out digit (default 9). If pressed, Asterisk sets __PRIVACY_NO_RECORD=1 across all child channels, skips MixMonitor in the DID route, Queue, and Ring Group, and tags CDR(accountcode)=PRIVACY_OPTOUT.optin): Sets __PRIVACY_NO_RECORD=1 by default and only enables recording (__PRIVACY_NO_RECORD=0) if the caller presses the consent key (default 1).recording_beep_sec): Passes ,B(15) (or ,B(30)) to MixMonitor so a subtle periodic beep is played every N seconds while a call is being recorded.When Enable automated nightly data retention purge is checked, /etc/cron.d/aipbx runs php /usr/local/bin/privacy_purge.php every night at 03:45 (or on demand via Run Purge Policy Now):
/var/spool/asterisk/monitor/*) older than N daysasteriskcdr (Asterisk ODBC runtime) and cdrs (src = 'REDACTED', dst = 'REDACTED', clid = 'REDACTED') so call volume statistics remain intact without retaining personal phone numbers (or deletes expired CDR rows if configured)Searching a phone number or extension lists all matching CDRs (across asteriskcdr and cdrs), audio recordings, voicemails, faxes, and SIP signaling rows:
PRIVACY_SAR_EXPORT in the Audit Log.REDACTED, and records an immutable PRIVACY_ERASURE certificate in the Audit Log.pci_dss, gdpr, kvkk, hipaa) is active, PrivacyService::redactTranscriptPii() automatically masks Luhn-validated payment card numbers (13–19 digits → [REDACTED-CARD]), CVV/CVC sequences ([REDACTED-CVV]), and 11-digit National IDs ([REDACTED-ID]) in live AGI voice transcripts and voicemail transcriptions before database storage or external LLM synthesis.CloudAiService::configured() === false), ensuring call audio and transcripts never leave the local PBX server.