Coffre PII et crypto-shredding
Gérez les données personnelles identifiables dans les appels Audact grâce au chiffrement et au crypto-shredding : chiffrez les segments de données personnelles, déchiffrez-les à la demande et effacez définitivement les informations d’une personne concernée.
Ce guide couvre les fonctionnalités de l’API et du tableau de bord pour gérer les données personnelles identifiables dans les appels Audact par le chiffrement et l’effacement (crypto-shredding).
Vue d’ensemble
Lorsque le chiffrement est activé pour votre espace de travail, Audact détecte et chiffre les données personnelles sur place dans les transcriptions et les preuves des appels :
- Les segments sont chiffrés : les BSN, IBAN, numéros de carte, e-mails, numéros de téléphone, dates de naissance
et adresses postales sont remplacés par des jetons chiffrés, par ex.
⟦pii:v1:EMAIL:…⟧. - Le texte autour reste lisible : vous pouvez toujours voir le contexte ; seules les valeurs privées sont chiffrées.
- Vous pouvez le déchiffrer : le bouton « Déchiffrer les données personnelles » de n’importe quelle page d’appel affiche le texte en clair.
- Vous pouvez l’effacer : via « Effacer une personne concernée » ou en appelant l’API, vous détruisez les clés de chiffrement et rendez toutes les occurrences irrécupérables.
1. Normalisation du hash côté client
Lorsque vous effacez les données d’une personne, vous fournissez uniquement un hash de son identifiant, jamais la valeur en clair. Le hash est calculé côté client, dans votre navigateur (ou votre SDK), de sorte qu’Audact ne reçoit jamais la valeur d’origine.
Comment fonctionne le hachage
Chaque type d’identifiant (nom, e-mail, téléphone) est d’abord normalisé, puis haché :
| Type | Normalisation | Exemple |
|---|---|---|
| suppression des espaces en début et fin, minuscules, Unicode NFC | "Jörg@Example.com" → "jörg@example.com" | |
| Téléphone | format E.164 (chiffres et + uniquement) | "+31 6 1234 5678" → "+31612345678" |
| Nom | suppression des espaces en début et fin, Unicode NFC, minuscules, réduction des espaces internes | " John Smith " → "john smith" |
Après normalisation, le hash client est SHA-256(normalized_value) sous forme de chaîne hexadécimale
de 64 caractères.
Exemples détaillés
Exemple 1 : hash d’un e-mail
Input: Foo.Bar@Example.COM Normalized: foo.bar@example.com SHA-256: 00a9fee7604744049b5f777d65021e214480af944b16c1580893c5c6eed2d45a
Copiez la chaîne SHA-256 ci-dessus dans le formulaire « Effacer une personne concernée », ou transmettez-la à votre client 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"
}'Exemple 2 : hash d’un numéro de téléphone
Input: +31 6 1234 5678 Normalized: +31612345678 SHA-256: fab7be8a931d1088a82f6acf9e468aaf6a3accc07d5112ee5d6fca93281e1583
Les numéros de téléphone doivent être au format E.164 (+ suivi de chiffres uniquement). Si votre valeur
contient des espaces, des tirets ou des parenthèses, ils sont supprimés avant le hachage. Les formats invalides
(par ex. des numéros nationaux sans indicatif de pays, comme 0612345678) renvoient une erreur.
Exemple 3 : hash d’un nom
Input: Émile Normalized: émile SHA-256: a56b363ca23dd9db9bd117840f28aab076b474f8cbea85416f715281dc809d56
Les noms sont insensibles à la casse et les signes diacritiques sont conservés (aucune conversion « é » → « e »). Les espaces multiples sont réduits à un seul. Les espaces en début et en fin sont supprimés.
Important : Audact ne détecte pas automatiquement les noms prononcés pendant les appels. L’effacement d’un nom ne fonctionne que pour les noms que vous avez fournis comme identifiants au début de l’appel ou via l’API de lien d’identité. Si un nom a été mentionné en passant sans avoir été enregistré, il n’est pas chiffré et ne peut pas être effacé par ce mécanisme.
2. Flux de déchiffrement et de destruction
Déchiffrer les données personnelles
Le tableau de bord affiche les valeurs chiffrées sous forme de pastilles (icône 🔒 Email). Pour afficher le texte en clair :
- Ouvrez la page de détail de l’appel.
- Cliquez sur « Déchiffrer les données personnelles » (en haut à droite, à côté du statut de l’appel).
- Requête groupée unique : toutes les valeurs chiffrées de la page sont déchiffrées en une seule requête et restent visibles pendant 5 minutes, puis sont automatiquement effacées de l’affichage.
- Le déchiffrement est audité : la chaîne de preuves de l’appel enregistre qui l’a déchiffré et quand.
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:…⟧"
}'Réponse :
json
{
"text": "BSN: 123-45-6789, Email: alice@example.com",
"decrypted": 2,
"erased": 0
}Si une identité a été détruite avant que vous ne déchiffriez, vous obtenez [ERASED_EMAIL] à la place du
texte en clair. La réponse indique également combien de valeurs ont été effacées.
Détruire les données personnelles
Pour effacer définitivement les données d’une personne de votre espace de travail :
Via le tableau de bord (carte « Effacer une personne concernée »)
- Choisissez un type : nom, e-mail ou téléphone.
- Saisissez la valeur (en clair). Elle est hachée dans votre navigateur ; Audact ne la voit jamais.
- Vérifiez le hash avant de confirmer (pour vos archives).
- Confirmez avec
ERASE(action destructrice). - Résultat : nombre d’identités détruites et nombre d’appels concernés.
Via l’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"
}'Réponse :
json
{
"shred_id": "12345678-…",
"identities_shredded": 1,
"calls_affected": 7,
"shredded_at": "2026-10-15T14:30:00Z"
}Destruction par appel
Pour détruire toutes les identités d’un seul appel :
- Ouvrez la page de détail de l’appel.
- Allez dans l’onglet « Données personnelles ».
- Cliquez sur « Détruire toutes les identités de cet appel » (rôle de propriétaire requis).
- Confirmez avec
SHRED.
⚠️ Avertissement : la destruction d’une identité e-mail ou téléphone efface cette valeur dans chaque appel de votre espace de travail où elle apparaît, et pas seulement dans celui-ci. C’est voulu : l’e-mail d’un appelant est la même valeur dans tous les appels, et l’effacer les protège tous.
3. Interrupteur : chiffrement ou occultation
Votre espace de travail dispose d’un paramètre « Chiffrement des données personnelles » sous Paramètres → Confidentialité et effacement.
Ce qu’il fait
- ACTIVÉ (par défaut) : les nouveaux appels chiffrent les segments détectés. Vous pouvez ensuite les déchiffrer et les détruire.
- DÉSACTIVÉ : les nouveaux appels occultent les segments détectés (ils apparaissent sous la forme
[REDACTED_EMAIL]et sont irrécupérables). C’est le comportement actuel.
Remarques importantes
- L’interrupteur ne vaut que pour la suite : les appels existants conservent le mode (activé ou désactivé) en vigueur à leur démarrage. Basculer l’interrupteur n’affecte que les nouveaux appels.
- Pas de mode en clair : l’interrupteur n’a que deux états : chiffré ou occulté. Il n’existe pas de mode en clair où les données seraient stockées sans chiffrement.
- Configurations rechiffrées : activer ou désactiver l’interrupteur déclenche un nouveau chiffrement de chaque configuration de votre espace de travail (visible dans l’historique des modifications sous la forme « N configurations rechiffrées »).
- Le chiffrement exige des clés : si Audact ne peut pas préparer les clés de chiffrement lorsque vous passez sur ACTIVÉ, l’erreur « Les clés de chiffrement n’ont pas pu être préparées » s’affiche et le paramètre reste sur DÉSACTIVÉ. Contactez le support si le problème persiste.
4. Rôles et autorisations
L’accès aux fonctionnalités PII est contrôlé par les rôles de l’espace de travail :
| Action | Rôle minimal | Ce qu’elle fait |
|---|---|---|
| Voir les pastilles chiffrées (🔒 Email) | Viewer | Voir les valeurs chiffrées dans les appels ; ne permet pas de déchiffrer |
| Déchiffrer les données personnelles | Viewer | Affichage temporaire en clair (effacé automatiquement après 5 min) |
| Lier un identifiant | Developer | Enregistrer un nom, un e-mail ou un numéro de téléphone comme identité d’une personne concernée |
| Détruire une personne concernée (effacer les données) | Owner | Détruire les données d’une personne dans tous les appels |
| Consulter le journal des effacements | Viewer | Voir l’historique de qui a détruit quoi et quand |
| Activer ou désactiver le chiffrement | Owner | Modifier le mode de l’espace de travail |
Les sessions d’emprunt d’identité (le personnel de l’organisation agissant comme un tenant) héritent du rôle du jeton et sont auditées au nom de l’utilisateur de l’organisation.
5. Portée de l’effacement : noms et personnes concernées
Pourquoi l’effacement d’un nom est plus limité
Audact dispose de sept détecteurs de segments : BSN, IBAN, carte, e-mail, téléphone, date de naissance et adresse postale. Parmi eux :
- E-mail, téléphone, adresse postale, date de naissance, BSN, IBAN, carte sont détectés automatiquement dans les transcriptions d’appels.
- Les noms ne sont PAS détectés automatiquement. Les noms n’existent que si vous les fournissez au début de l’appel ou via l’API de lien d’identité.
Conséquence : l’effacement d’un nom ne concerne que les identités que vous avez enregistrées, et non chaque mention de ce nom dans un appel.
Exemple
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]"
Si vous détruisez alice@example.com :
- Cet e-mail est effacé dans chaque appel de votre espace de travail où il apparaît.
- La transcription affiche désormais :
Email: [ERASED_EMAIL] - Le BSN et l’adresse restent chiffrés (toujours déchiffrables).
Si vous détruisez alice smith (le hash du nom) :
- Seule l’identité de nom que vous avez enregistrée est effacée.
- La transcription affiche désormais :
Name: [ERASED_NAME] - Mais si l’appelant est désigné par son nom ailleurs dans l’appel (par ex. « Alice a appelé à 14 h »), cette mention n’est PAS chiffrée et n’est PAS effacée.
Bonne pratique
Pour une protection renforcée des données, enregistrez tous les identifiants que vous connaissez au début de l’appel :
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>"}
]
}Ainsi, chaque segment détecté lié à cette personne est chiffré sous un jeu de clés qui inclut l’identité de nom, de sorte qu’une seule destruction du nom efface tout.
Voir aussi
- Conservation des données — délai d’effacement, bascule valable pour la suite uniquement, et enregistrements.
- SDK Python —
audact.pii.client_hash(type, value)/audact.pii.normalize_identifier(type, value) - SDK TypeScript —
import { clientHash, normalizeIdentifier } from "@audactcore/sdk"; utilisezawait clientHash(type, value)etnormalizeIdentifier(type, value) - SDK Go —
audact.ClientHash/audact.NormalizeIdentifier