Aller au contenu
100% exécutable hors-ligne
Rechercher…Réserver un auditAudit

Configuration & Fine-Tuning du Privacy Vault (RAM Vault PII)

20 minspaCy 3.7+PyCryptodomeRGPD Art. 5 & 28

Le module Privacy Vault d’Yevi Core v1.0 est le composant de sécurité central responsable du masquage systématique des Données Personnelles (PII) avant transmission au moteur RAG ou au modèle de langage (LLM).

Aucune donnée en clair ne franchit la frontière du processeur d’inférence.

Ce guide d’ingénierie explique comment calibrer les règles d’anonymisation, intégrer des expressions régulières métier régionales (NIF/IFU, RCCM, BVN, NIN) et exploiter les journaux d’audit JSONL opposables.


Le masquage s’exécute exclusivement en mémoire vive volatile (RAM Vault) chiffrée en AES-256-GCM :

graph LR
Input["Texte Brut"] --> RegexEngine["1. Regex Normalisées (NIR, IBAN, E-mail, BVN)"]
RegexEngine --> SpacyEngine["2. NER spaCy (Noms, Organisations, Villes)"]
SpacyEngine --> RAMEncrypt["3. Chiffrement AES-256-GCM en RAM Volatile"]
RAMEncrypt --> Output["Texte Anonymisé transmis au RAG"]

Vous pouvez activer ou désactiver les familles de détection PII et ajouter des motifs personnalisés adaptés aux formats administratifs d’Europe et d’Afrique de l’Ouest :

privacy_vault:
enabled: true
encryption: "AES-256-GCM"
auto_purge_ram_sec: 0 # Purge mémoire immédiate après génération
entities:
person_names: true # spaCy PER
organizations: true # spaCy ORG
locations: true # spaCy LOC
emails: true # Regex RFC 5322
phone_numbers: true # Formats internationaux (+33, +221, +225, +229)
iban: true # ISO 13616
social_security_nir: true # Format 13+2 chiffres
custom_regex:
- name: "MATRICULE_EMPLOYE"
pattern: "EMP-\\d{6}"
label: "EMP_ID"
- name: "BVN_NIGERIA"
pattern: "\\b[0-9]{11}\\b"
label: "BVN_ID"
- name: "IFU_BENIN"
pattern: "\\b[0-9]{13}\\b"
label: "IFU_ID"

from yevi.privacy import PrivacyVault
# Initialisation du coffre-fort RAM Vault
vault = PrivacyVault(spacy_model="fr_core_news_sm")
# Anonymisation réversible en mémoire vive
raw_text = "Le virement de Me Jean Martin vers l'IBAN FR76 3000 4000 1122 3344 5566 777 a été validé."
anonymized, mapping_id = vault.anonymize(raw_text)
print("Texte masqué transmis au LLM :")
print(anonymized)
# Output: "Le virement de [[PER_1]] vers l'IBAN [[IBAN_1]] a été validé."
# Restitution sécurisée après inférence
restored = vault.restore(anonymized, mapping_id)

[!NOTE] Le dictionnaire de correspondance des identités masquées n’est jamais persisté sur disque : il est détruit de la mémoire RAM dès la clôture de la session utilisateur.


4. Inspection des logs d’audit opposables (JSONL)

Section intitulée « 4. Inspection des logs d’audit opposables (JSONL) »

Chaque opération d’anonymisation génère une entrée d’audit anonymisée conservée dans /var/log/yevi/audit.jsonl pour présentation lors des contrôles CNIL, CDP ou ARTCI :

{
"timestamp": "2026-08-08T18:30:00Z",
"event": "PII_ANONYMIZATION_SUCCESS",
"entities_detected": {
"PER": 1,
"IBAN": 1
},
"vault_status": "RAM_AES256_ACTIVE",
"execution_time_ms": 12.4
}

Prêt à sécuriser vos données avec l'IA ?

Ne laissez pas vos documents confidentiels sur des serveurs publics. Réservez un échange de 30 minutes avec nos experts pour évaluer la faisabilité d'un LLM Souverain dans votre infrastructure.

Planifier un Audit Gratuit
Projet IA Souveraine ?Audit Gratuit ➔