PII-kluis en crypto-shredding
Beheer persoonsgegevens in Audact-gesprekken door middel van versleuteling en crypto-shredding: versleutel PII-fragmenten, ontsleutel op aanvraag en wis de gegevens van een betrokkene definitief.
Deze handleiding behandelt de API- en dashboardfuncties voor het beheren van persoonsgegevens in Audact-gesprekken door middel van versleuteling en verwijdering (crypto-shredding).
Overzicht
Wanneer versleuteling is ingeschakeld voor uw werkruimte, detecteert en versleutelt Audact persoonsgegevens ter plekke in gesprektranscripten en bewijsmateriaal:
- Fragmenten worden versleuteld: BSN, IBAN, kaartnummers, e-mailadressen, telefoonnummers, geboortedatums
en postadressen worden vervangen door cijferteksttokens, bijv.
⟦pii:v1:EMAIL:…⟧. - De omringende tekst blijft leesbaar: U kunt de context nog steeds zien; alleen de privéwaarden worden versleuteld.
- U kunt ontsleutelen: De knop "Persoonsgegevens ontsleutelen" op elke gesprekspagina toont leesbare tekst.
- U kunt wissen: Via "Betrokkene wissen" of via de API vernietigt u de versleutelingssleutels en maakt u alle instanties onherstelbaar.
1. Clienthash-normalisatie
Wanneer u de gegevens van een persoon wist, verstrekt u alleen een hash van zijn of haar identificator, nooit de leesbare waarde. De hash wordt berekend aan de clientzijde in uw browser (of uw SDK), zodat Audact de oorspronkelijke waarde nooit ontvangt.
Hoe hashing werkt
Elk type identificator (naam, e-mail, telefoon) wordt eerst genormaliseerd en vervolgens gehasht:
| Type | Normalisatie | Voorbeeld |
|---|---|---|
| trim, kleine letters, NFC Unicode | "Jörg@Example.com" → "jörg@example.com" | |
| Telefoon | E.164-indeling (alleen cijfers en +) | "+31 6 1234 5678" → "+31612345678" |
| Naam | trim, NFC Unicode, kleine letters, interne witruimte samenvoegen | " John Smith " → "john smith" |
Na normalisatie is de clienthash SHA-256(normalized_value) als een hexadecimale tekenreeks van 64 tekens.
Uitgewerkte voorbeelden
Voorbeeld 1: E-mailhash
Input: Foo.Bar@Example.COM Normalized: foo.bar@example.com SHA-256: 00a9fee7604744049b5f777d65021e214480af944b16c1580893c5c6eed2d45a
Kopieer de bovenstaande SHA-256-tekenreeks in het formulier "Betrokkene wissen" of geef hem door aan uw API-client:
bash
curl -X POST https://api.audact.ai/v1/pii/shred \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"identifier_type": "email",
"identifier_hash": "00a9fee7604744049b5f777d65021e214480af944b16c1580893c5c6eed2d45a"
}'Voorbeeld 2: Telefoonnummerhash
Input: +31 6 1234 5678 Normalized: +31612345678 SHA-256: fab7be8a931d1088a82f6acf9e468aaf6a3accc07d5112ee5d6fca93281e1583
Telefoonnummers moeten in E.164-indeling zijn (+ gevolgd door uitsluitend cijfers). Als uw invoer
spaties, koppeltekens of haakjes bevat, worden deze verwijderd vóór het hashen. Ongeldige indelingen
(bijv. lokale nummers zoals 0612345678 zonder landcode) retourneren een fout.
Voorbeeld 3: Naamhash
Input: Émile Normalized: émile SHA-256: a56b363ca23dd9db9bd117840f28aab076b474f8cbea85416f715281dc809d56
Namen zijn hoofdletterongevoelig en diakritische tekens blijven behouden (geen "é" → "e"-conversie). Meerdere spaties worden samengevoegd tot één. Voorloopspaties en volgspaties worden verwijderd.
Belangrijk: Audact detecteert namen niet automatisch die in gesprekken worden uitgesproken. Naamwissing werkt alleen voor namen die u als identificatoren heeft opgegeven bij het starten van een gesprek of via de identiteitslink-API. Als een naam terloops is vermeld zonder te zijn geregistreerd, wordt hij niet versleuteld en kan hij via dit mechanisme niet worden gewist.
2. Ontsleutelings- en wisstromen
Persoonsgegevens ontsleutelen
Het dashboard toont versleutelde waarden als chips (🔒 Email-pictogram). Om de leesbare tekst te zien:
- Open de gesprekdetailpagina.
- Klik op "Persoonsgegevens ontsleutelen" (rechtsboven, naast de gespreksstatus).
- Eenmalig batchverzoek: Alle versleutelde waarden op de pagina worden in één verzoek ontsleuteld en blijven 5 minuten zichtbaar, waarna ze automatisch worden gewist.
- Ontsleuteling wordt geauditeerd: De bewijsketen van het gesprek registreert wie heeft ontsleuteld en wanneer.
API:
bash
curl -X POST https://api.audact.ai/v1/calls/${CALL_ID}/pii/decrypt \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"text": "BSN: ⟦pii:v1:BSN:…⟧, Email: ⟦pii:v1:EMAIL:…⟧"
}'Respons:
json
{
"text": "BSN: 123-45-6789, Email: alice@example.com",
"decrypted": 2,
"erased": 0
}Als een identiteit is gewist vóór uw ontsleuteling, krijgt u [ERASED_EMAIL] in plaats van de
leesbare tekst. De respons telt ook hoeveel er zijn gewist.
Persoonsgegevens wissen
Om de gegevens van een persoon definitief te wissen uit uw werkruimte:
Via dashboard (kaart "Betrokkene wissen")
- Kies een type: Naam, e-mail of telefoon.
- Voer de waarde in (leesbare tekst). Deze wordt in uw browser gehasht; Audact ziet hem nooit.
- Controleer de hash vóór bevestiging (voor uw eigen administratie).
- Bevestig met
ERASE(destructieve handeling). - Resultaat: Hoeveel identiteiten zijn gewist en hoeveel gesprekken zijn betrokken.
Via API
bash
curl -X POST https://api.audact.ai/v1/pii/shred \
-H "Authorization: Bearer ${API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"identifier_type": "email",
"identifier_hash": "00a9fee7604744049b5f777d65021e214480af944b16c1580893c5c6eed2d45a"
}'Respons:
json
{
"shred_id": "12345678-…",
"identities_shredded": 1,
"calls_affected": 7,
"shredded_at": "2026-10-15T14:30:00Z"
}Wissen per gesprek
Om alle identiteiten van één gesprek te wissen:
- Open de gesprekdetailpagina.
- Ga naar het tabblad "Persoonsgegevens".
- Klik op "Alle identiteiten in dit gesprek wissen" (rol owner vereist).
- Bevestig met
SHRED.
⚠️ Waarschuwing: Het wissen van een e-mail- of telefoonidentiteit wist die waarde in elk gesprek van uw werkruimte waar hij voorkomt, niet alleen in dit gesprek. Dit is bewust: het e-mailadres van een beller is dezelfde waarde in alle gesprekken, en door één te wissen worden alle beschermd.
3. Aan/uit-schakelaar: versleuteling versus redactie
Uw werkruimte heeft een instelling "Versleuteling van persoonsgegevens" onder Instellingen → Privacy en wissing.
Wat het doet
- AAN (standaard): Nieuwe gesprekken versleutelen gedetecteerde fragmenten. U kunt ze later ontsleutelen en wissen.
- UIT: Nieuwe gesprekken redigeren gedetecteerde fragmenten (ze verschijnen als
[REDACTED_EMAIL]en zijn onherstelbaar). Dit is het huidige gedrag.
Belangrijke opmerkingen
- De schakelaar werkt alleen voorwaarts: Bestaande gesprekken behouden hun modus (AAN of UIT) van het moment dat ze werden gestart. Het omzetten van de schakelaar is alleen van invloed op nieuwe gesprekken.
- Geen leesbare-tekstmodus: De schakelaar heeft slechts twee standen: versleuteld of geredigeerd. Er is geen modus waarbij gegevens onversleuteld worden opgeslagen.
- Opnieuw verzegelde configuraties: Het omzetten van de schakelaar naar AAN of UIT activeert een hernieuwde verzegeling van elke configuratie in uw werkruimte (zichtbaar in de wijzigingsgeschiedenis als "N configuraties opnieuw verzegeld").
- Versleuteling vereist sleutels: Als Audact geen versleutelingssleutels kan voorbereiden wanneer u naar AAN schakelt, wordt de fout "Versleutelingssleutels konden niet worden voorbereid" weergegeven en blijft de instelling UIT. Neem contact op met de ondersteuning als dit aanhoudt.
4. Rollen en machtigingen
Toegang tot PII-functies wordt bepaald door werkruimterollen:
| Handeling | Minimale rol | Wat het doet |
|---|---|---|
| Versleutelde chips zien (🔒 E-mail) | Viewer | Versleutelde waarden in gesprekken bekijken; kan niet ontsleutelen |
| Persoonsgegevens ontsleutelen | Viewer | Tijdelijke leesbare-tekstweergave (5 min, wordt automatisch gewist) |
| Een identificator koppelen | Developer | Een naam/e-mail/telefoon registreren als betrokkene-identiteit |
| Een betrokkene wissen (gegevens wissen) | Owner | De gegevens van een persoon vernietigen in alle gesprekken |
| Wislogboek bekijken | Viewer | Een geschiedenis zien van wie wat wanneer heeft gewist |
| Versleuteling aan/uitzetten | Owner | De werkruimtemodus wijzigen |
Imitatiesessies (organisatiemedewerkers die als huurder handelen) erven de rol van het token en worden geauditeerd als de organisatiegebruiker.
5. Overwissing: namen en betrokkenen
Waarom naamwissing zwakker is
Audact heeft zeven fragmentdetectoren: BSN, IBAN, kaart, e-mail, telefoon, geboortedatum en postadres. Daarvan:
- E-mail, telefoon, postadres, geboortedatum, BSN, IBAN, kaart worden automatisch gedetecteerd in gesprektranscripten.
- Namen worden NIET automatisch gedetecteerd. Namen bestaan alleen als u ze opgeeft bij het starten van een gesprek of via de identiteitslink-API.
Gevolg: Een naamwissing heeft alleen invloed op de identiteiten die u heeft geregistreerd, niet op elke vermelding van die naam in een gesprek.
Voorbeeld
Call 123 subject identities: - Phone: +31612345678 (auto-detected at call start) - Name: "Alice Smith" (supplied at call init) - Email: alice@example.com (detected in conversation) Evidence: "Caller information: BSN: [Encrypted] Phone: +31612345678 Name: Alice Smith Email: [Encrypted]"
Als u alice@example.com wist:
- Dat e-mailadres wordt gewist in elk gesprek van uw werkruimte waar het voorkomt.
- Het transcript toont nu:
Email: [ERASED_EMAIL] - BSN en adres blijven versleuteld (nog steeds ontsleutelbaar).
Als u alice smith wist (de naamhash):
- Alleen de naamidentiteit die u heeft geregistreerd wordt gewist.
- Het transcript toont nu:
Name: [ERASED_NAME] - Maar als de beller elders in het gesprek bij naam wordt genoemd (bijv. "Alice belde om 14:00"), wordt die vermelding NIET versleuteld en NIET gewist.
Aanbevolen werkwijze
Registreer voor sterke gegevensbescherming alle identificatoren die u kent bij het starten van een gesprek:
json
{
"call_type": "inbound",
"identifiers": [
{"type": "email", "hash": "<client-hash-of-email>"},
{"type": "phone", "hash": "<client-hash-of-phone>"},
{"type": "name", "hash": "<client-hash-of-name>"}
]
}Dit zorgt ervoor dat elk gedetecteerd fragment van die betrokkene is verzegeld onder een sleutelset die de naamidentiteit bevat, zodat één naamwissing alles wist.
Zie ook
- Gegevensbewaring — wisvertraging, eenrichtings-omschakeling en opnamen.
- Python SDK —
audact.pii.client_hash(type, value)/audact.pii.normalize_identifier(type, value) - TypeScript SDK —
import { clientHash, normalizeIdentifier } from "@audactcore/sdk"; gebruikawait clientHash(type, value)ennormalizeIdentifier(type, value) - Go SDK —
audact.ClientHash/audact.NormalizeIdentifier
