Minimisation dans le code
Trames audio bornées en mémoire et purgées, jamais dans les métriques. Transcription limitée à 6 000 caractères avant tout résumé. Métriques de santé content-free, sans donnée d’appel ni sortie de commande.
Données et souveraineté
Quatorze classes majeures de données, leur lieu de vie cible, leurs sorties possibles vers des tiers et les preuves qui manquent encore.
Ce que le service garde, où cela vit, ce qui peut sortir et ce qui reste à prouver.
Quatorze classes majeures que le service garde ou fait circuler: voix, numéros, signalisation, traces réseau, navigateur et WebRTC, enregistrements, messages vocaux, transcriptions, sessions VoiceBot, informations d’appel, journaux, identités, secrets, mesures de santé et notifications.
Où vit cette donnée, qui la traite, et peut-elle quitter le local ou l’Europe.
Une classe vise un traitement local ou européen encore non attesté. Ou elle peut sortir vers un prestataire extérieur si celui-ci est activé. Ou elle dépend d’un accord qui n’est pas encore prouvé.
Le code trie et borne ces données: la voix ne reste que le temps de l’appel, le texte envoyé à un éventuel prestataire est limité, et le mode local strict refuse les clés des services extérieurs. Des essais locaux le confirment.
Aucun contrat signé avec un prestataire, aucune résidence européenne attestée, aucune analyse d’impact sur la vie privée. La mise en service reste interdite.
Production NO-GO. Chaque classe ci-dessous indique sa preuve locale et sa preuve manquante, sans rien promettre de plus.
Le trajet montre comment une donnée est rangée et suivie. La matrice permet de filtrer les classes selon leur situation de souveraineté et reste lisible sans fonction interactive.
De la naissance de la donnée à la preuve de son sort.
Un appel produit notamment de la voix, des numéros, de la signalisation, des traces réseau, des transcriptions et des journaux.
Chaque donnée rejoint l’une des quatorze classes majeures, avec un responsable nommé.
Le traitement local ou européen est une cible, pas une résidence attestée. Carrier, TURN, IA, messagerie et autres prestataires peuvent traiter certaines classes selon les contrats et options activées.
Contrat, résidence européenne et analyse d’impact restent à produire avant toute mise en service.
Comment lire ce trajet: avancez avec les flèches du clavier ou parcourez les étapes dans l’ordre. Les contrats exacts restent dans la « Vue architecte ».
Étape 1 sur 4: Un appel produit de la voix, des transcriptions, des informations d’appel et des journaux.
14 gates affichées.
Où elle vit: chez le carrier puis en mémoire bornée du service téléphonique, le temps de l’appel.
Qui la traite: le carrier cible non contracté et Navy Phone.
Sortie hors Europe: non prévue, mais non attestée tant que le carrier et l’hébergement ne sont pas qualifiés.
Preuve locale: code des tampons et de l’annulation, purge après lecture ou annulation, jamais dans les mesures de santé.
Preuve manquante: carrier, contrat, parcours PSTN, hébergement et résidence réellement observés.
Où elle vit: un coffre de fichiers prévu pour la conformité, pas encore réel.
Qui la traite: la fonction conformité, avec une clé dédiée et des accès restreints en cible.
Sortie hors Europe: non prévu.
Preuve locale: capture inactive par défaut, double contrôle et essai de purge à blanc dans le code.
Preuve manquante: consentement, durées de conservation, blocage légal, coffre réel et restauration prouvée.
Où elle vit: dans le service de conversation, avec le texte borné à 6 000 caractères.
Qui la traite: Navy Phone et, seulement si activé, Anthropic ou OpenRouter pour le résumé.
Sortie hors Europe: possible si un prestataire de résumé est activé.
Preuve locale: borne de longueur dans le code, mode local strict qui refuse les clés extérieures, aucune action critique confiée au résumé.
Preuve manquante: analyse d’impact, contrat, sous-traitants, résidence, suppression et minimisation du prestataire.
Où elle vit: dans le journal téléphonique, avec un identifiant d’appel opaque.
Qui la traite: Navy Phone dans la cible.
Sortie hors Europe: non prévue, mais non attestée.
Preuve locale: journal qui accepte seulement des ajouts, chaîné par empreintes, exercé en essai local.
Preuve manquante: hébergement, résidence, durée de conservation, export et scellement à figer.
Où elle vit: deux journaux séparés, téléphonie et décisions de l’assistant, corrélables sans fusion.
Qui la traite: Navy Phone et le produit assistant, chacun dans sa responsabilité.
Sortie hors Europe: non prévu.
Preuve locale: code local, séparation des responsabilités, reconstruction de décisions sensibles testée.
Preuve manquante: registre immuable, export contrôlé, scellement et durées couvertes par une analyse d’impact.
Où elle vit: dans la base de données prévue, derrière un contrôle de session systématique.
Qui la traite: Navy Phone dans la cible.
Sortie hors Europe: non prévue, mais non attestée.
Preuve locale: onze routes protégées par la session, dix-sept essais sur dix-sept, jeton machine par organisation.
Preuve manquante: base réelle et sa résidence, service central de clés et d’accès déployé.
Où elle vit: fichiers locaux, hors du dépôt, hors des images et hors des états d’infrastructure.
Qui la traite: les services locaux concernés, sous des identités dédiées.
Sortie hors Europe: non prévue, mais non attestée sur une infrastructure réelle.
Preuve locale: politique non secrète gérable par le code d’infrastructure, clés exclues du dépôt.
Preuve manquante: fabrique de certificats, coffre de secrets, résidence et rotation réellement opérés.
Où elle vit: quatre fichiers locaux éphémères, puis une supervision privée en cible.
Qui la traite: la chaîne de surveillance locale.
Sortie hors Europe: non prévue, mais non attestée.
Preuve locale: contenu sans aucune donnée d’appel, droits restreints, essai local douze sur douze.
Preuve manquante: réseau de supervision réel, résidence et engagement de niveau de service.
Où elle vit: préparée localement, envoyée par le prestataire Resend seulement s’il est activé.
Qui la traite: Navy Phone puis Resend pour l’envoi: destinataire, sujet et contenu.
Sortie hors Europe: possible si Resend est activé.
Preuve locale: adaptateur optionnel dans le code, erreurs à rendre visibles à l’opérateur.
Preuve manquante: domaine et ses réglages d’authentification, résidence, délivrabilité, reprise et rotation.
Où elle vit: chez le carrier et dans les règles d’admission Navy Phone.
Qui la traite: carrier cible non contracté et Navy Phone.
Sortie hors Europe: dépend du carrier, de ses sous-traitants et du routage, tous non qualifiés.
Preuve locale: admission DID vers alias opaque et contrôles d’identité exercés avec des pairs synthétiques.
Preuve manquante: attribution, portabilité, contrat, minimisation, résidence et appels publics réels.
Où elle vit: dans les équipements du carrier, les cellules edge et les journaux techniques bornés.
Qui la traite: carrier cible, Kamailio, RTPEngine et Asterisk.
Sortie hors Europe: non déterminée avant qualification du carrier et de ses routes.
Preuve locale: mTLS, ports bornés, refus des pairs non autorisés et absence de payload dans les preuves locales.
Preuve manquante: interop carrier, politique de logs, adresses réelles, résidence et conservation.
Où elle vit: dans le navigateur, la signalisation privée et le relais TURN cible.
Qui la traite: terminal utilisateur, Navy Phone et opérateur du TURN.
Sortie hors Europe: dépend du réseau client, des candidats ICE et du TURN, non qualifiés en réel.
Preuve locale: contrats WebRTC et essais TURN locaux avec plages bornées.
Preuve manquante: postes et réseaux distants réels, résidence TURN, minimisation IP, qualité et conservation.
Où elle vit: dans le stockage objet et les métadonnées cibles lorsque la messagerie est activée.
Qui la traite: Navy Phone, le stockage cible et les utilisateurs autorisés.
Sortie hors Europe: non prévue, mais non attestée.
Preuve locale: politique de non-réponse et composant messagerie documentés.
Preuve manquante: capture réelle, chiffrement opéré, consentement, résidence, rétention, suppression et restauration.
Où elle vit: dans le produit séparé VoiceBot: session, tours préparés, décisions, protocoles et audit métier.
Qui la traite: VoiceBot Navy Crisis et les runtimes IA qualifiés qui seraient activés.
Sortie hors Europe: non prévue en profil souverain, mais non attestée de bout en bout.
Preuve locale: contrats versionnés, garde déterministe, révisions et séparation de l’appel et du média.
Preuve manquante: déploiement séparé, résidence, egress effectif, rétention et transfert humain réellement exercé.
Impact utile: chacun peut voir, classe par classe, ce qui reste près de nous, ce qui peut partir et ce qui n’est pas encore prouvé.
En cas de doute: une sortie activée sans contrat, sans résidence ou sans analyse d’impact est un écart à traiter, pas une fonctionnalité.
Responsable: chaque classe nomme son responsable; la conformité arbitre les accords manquants.
Repérer une sortie non prouvée, protéger les données et revenir à un état connu.
| Signal observable | Premier geste sans risque | Reprise visée |
|---|---|---|
| Une transcription part vers un fournisseur externe alors que le mode local strict est attendu | Repasser en mode local strict, retirer la clé du fournisseur et tracer l’écart dans le journal. | Rejouer l’essai local de refus de clé, puis décider si le fournisseur reste désactivé. Toute réactivation exige contrat, résidence et analyse d’impact. |
| Un enregistrement semble exister sans règle de conservation approuvée | Arrêter toute capture nouvelle et protéger l’existant sans le modifier. | Appliquer la purge contrôlée, d’abord à blanc puis réelle après approbation, avec preuve d’exécution. |
| Rupture de chaîne dans le journal d’audit | Bloquer l’action concernée et signaler, sans commit fictif. | Vérification d’intégrité et reconstruction de plusieurs décisions sensibles avant toute réouverture. |
| Un courriel de notification part en erreur silencieuse | Rendre l’erreur visible à l’opérateur; ne pas laisser l’adaptateur l’absorber. | Renvoi manuel après correction, avec la preuve conservée dans le journal. |
Lieux, traitants, sorties hors UE, preuves locales et preuves manquantes, avec les noms exacts.
| Classe | Où elle vit | Qui la traite | Sortie hors UE | Preuve locale | Preuve manquante |
|---|---|---|---|---|---|
| Voix en transit | Carrier puis mémoire bornée Navy Phone | Carrier cible non contracté et Navy Phone | Non prévue; non attestée | Code buffers et AbortSignal; purge après lecture/annulation; jamais dans les métriques | Carrier, contrat, parcours PSTN, hébergement et résidence observés |
| Enregistrements | Coffre objet conformité cible | Conformité, clé dédiée et ACL en cible | Non prévu | Off par défaut; double contrôle et dry-run purge (lib/recording-*) | Consentement, TTL/legal hold, bucket réel, restauration prouvée; cible seulement |
| Transcriptions | Service de conversation, texte borné à 6 000 caractères | Navy Phone; Anthropic ou OpenRouter si activé (résumé) | Possible si fournisseur activé | Borne 6 000 caractères; mode LOCAL_ONLY refuse les clés; aucune action critique confiée au résumé | DPIA, contrat, sous-traitants, résidence, suppression, minimisation |
| Métadonnées d’appel | Ledger téléphonie, call ID opaque | Navy Phone dans la cible | Non prévue; non attestée | Append-only, hash chain, séquence (lib/audit.ts) | Hébergement, résidence, rétention, export et scellement |
| Journaux d’audit | Ledgers Navy et VoiceBot séparés et corrélés | Navy Phone et produit VoiceBot, responsabilités distinctes | Non prévu | Code local; corrélation sans fusion; reconstruction testée | Registre immuable, export contrôlé, scellement, DPIA sur les durées |
| Identités de compte | PostgreSQL cible, tenant-scoped | Navy Phone dans la cible | Non prévue; non attestée | 11 routes derrière getSession, 17/17; jeton machine par organisation | Base réelle et résidence; IAM/KMS non déployés |
| Secrets | Fichiers locaux hors Git, state et image | Services locaux, identités dédiées | Non prévue; non attestée | Politique non secrète en IaC; clés hors dépôt | PKI, Secret Manager, résidence, rotation et break-glass opérés |
| Métriques de santé | Quatre fichiers /run, supervision privée cible | Chaîne edge-health locale | Non prévue; non attestée | Content-free, aucune donnée d’appel; 0700/0640; health-lab 12/12 | Réseau de management réel, résidence et SLO |
| Courriels de notification | Préparés localement, envoyés via Resend si activé | Navy Phone puis Resend: destinataire, sujet, contenu | Possible si Resend activé | Adaptateur optionnel; erreurs à exposer à l’opérateur | Domaine, SPF/DKIM/DMARC, résidence, délivrabilité, retry, rotation |
| Numéros, DID et identités d’appel | Carrier et règles d’admission Navy Phone | Carrier cible non contracté et Navy Phone | Dépend du carrier et du routage | Admission DID vers alias opaque; contrôles synthétiques d’identité | Attribution, portabilité, contrat, minimisation, résidence et PSTN |
| Signalisation SIP, SDP et traces réseau | Carrier, cellules edge et journaux techniques bornés | Carrier, Kamailio, RTPEngine et Asterisk | Non déterminée avant qualification | mTLS, ports bornés, pairs non autorisés refusés, preuves sans payload | Interop carrier, politique de logs, adresses réelles, résidence et conservation |
| Navigateur, appareil, IP et WebRTC/TURN | Terminal, signalisation privée et relais TURN cible | Terminal, Navy Phone et opérateur TURN | Dépend du réseau, d’ICE et du TURN | Contrats WebRTC et essais TURN locaux bornés | Postes et réseaux réels, résidence TURN, minimisation IP, qualité et conservation |
| Messages vocaux | Stockage objet et métadonnées cibles si activés | Navy Phone, stockage cible et utilisateurs autorisés | Non prévue; non attestée | Politique de non-réponse et composant documentés | Capture, chiffrement, consentement, résidence, rétention, suppression et restauration |
| Sessions VoiceBot Navy Crisis | Produit séparé: sessions, tours, décisions, protocoles et audit | VoiceBot et runtimes IA qualifiés activés | Non prévue en profil souverain; non attestée | Contrats versionnés, garde déterministe, révisions et séparation média | Déploiement séparé, résidence, egress, rétention et handoff humain réel |
La présence d’un adaptateur ne vaut ni autorisation, ni souveraineté. Toute activation externe reste une gate NO-GO distincte.
| Service | Données susceptibles de sortir | Contrôle actuel | Preuve manquante |
|---|---|---|---|
| ElevenLabs | Texte validé destiné à la synthèse vocale | Adaptateur optionnel; clé refusée en mode LOCAL_ONLY | Contrat, résidence, rétention, voix, latence, coût, quotas, reprise et SLO |
| Anthropic / OpenRouter | Transcription bornée à 6 000 caractères, langue et consigne de résumé | Adaptateurs optionnels; aucune action critique confiée au résumé | DPIA, sous-traitants, résidence, suppression, minimisation, qualité, coût et SLO |
| Resend | Destinataire, sujet et contenu de l’email transactionnel | Adaptateur optionnel; erreurs actuellement absorbées, à exposer | Domaine, SPF/DKIM/DMARC, résidence, délivrabilité, webhook, retry, rotation et SLO |
Ce qui réduit l’exposition aujourd’hui, et les accords qui restent des gates humaines.
Trames audio bornées en mémoire et purgées, jamais dans les métriques. Transcription limitée à 6 000 caractères avant tout résumé. Métriques de santé content-free, sans donnée d’appel ni sortie de commande.
Le mode local strict refuse les clés des fournisseurs cloud. ElevenLabs, Anthropic, OpenRouter et Resend restent des adaptateurs optionnels, non attestés comme déployés ou approuvés.
Aucune DPIA, aucun contrat, aucune résidence UE et aucune clause de suppression ne sont prouvés pour les tiers possibles. RGPD/AIPD reste une gate humaine: finalités, sous-traitants, résidence, consentement, droits et notification incident.
Ledger téléphonie et audit décisionnel VoiceBot restent corrélables par call ID opaque sans fusion. Export, scellement et registre immuable restent à figer. Fiche ledger et fiche rétention.
Les tables d’autorité sur les sous-traitants et les secrets restent dans Sécurité, souveraineté et conformité. Aucune preuve nommée ici ne va au-delà de ce que ces sources attestent.
Pages voisines: Sécurité, souveraineté et conformité pour les secrets et les sous-traitants, Données, cycle de vie et audits pour les classes et leurs owners, Frontières de confiance pour les limites entre zones, et Scénarios de panne pour les comportements en incident.