Constructions de l'ère des agents · Bureau de surveillance
Le bureau de surveillance
Une balise ajoutée avec de bonnes intentions en janvier devient une fuite en juin. Personne ne l'a fait exprès; personne ne l'a surveillée. Le bureau de surveillance est la vigie mensuelle qui maintient les traceurs, les pixels et les flux serveur d'un site sur le registre qui les a approuvés. Un registre, une cadence, un dossier de preuve par mois, et une règle dure : rien de nouveau ne se déclenche avant qu'une personne ne l'ait scellé.
Modèle de registre v0.1.0 · Publié le 2026-11-04 · french_completeness_status : complet · Cette page décrit ouvertement la méthode. Ce n'est pas un avis juridique, et ce n'est pas une certification de conformité de movahedi.ca.
Le registre
Un registre par site
Le registre est la source de vérité pour tout ce qui transporte des données hors de la page. Une ligne par hôte, sept champs, sans exception. Téléchargez le modèle et partez de là :
| Champ | Contenu |
|---|---|
host | Le nom d'hôte observé lors de l'exploration du DOM, ou la destination du webhook pour les flux serveur. Nom d'hôte nu, sans protocole. |
delivery_vector | client_dom (script, pixel ou balise dans la page) ou server_webhook (le serveur de première partie transmet les données à cette destination). |
legal_recipient | L'organisation qui reçoit et utilise les données pour ses propres fins. Souvent différente du domaine qui a déposé le témoin; la base de connaissances des témoins conserve les deux. |
owner | Qui, dans l'organisation cliente, est responsable de cette ligne (exploitant du site, marketing, produit, responsable de la protection des renseignements personnels). |
consent_category | strictly_necessary, security, functional, analytics ou marketing_profiling. Loi 25 art. 8.1 : seuls les témoins strictement nécessaires (et de sécurité, lorsque c'est démontrablement requis) peuvent être actifs par défaut. |
decision | approve (hôte connu, fonctionne dans la catégorie enregistrée), gate (ne fonctionne que derrière la barrière de consentement; tout élargissement exige un nouveau sceau), ou remove (retrait prévu; le prochain dossier mensuel doit montrer sa disparition). |
expiry_date | La ligne expire à cette date. Un hôte sans ligne renouvelée après expiration compte comme inexpliqué au cycle suivant. |
La cadence
Sept étapes, une fois par mois
- Double observation. Une exploration sans tête du DOM consigne ce que la page fait vraiment : témoins avant consentement, stockage local, balises, et la symétrie des boutons de la bannière de consentement en anglais et en français. En parallèle, une ingestion JSON en lecture seule récupère le conteneur du gestionnaire de balises et les destinations des webhooks serveur. L'exploration voit le navigateur; l'ingestion voit ce que le navigateur ne peut pas voir, car le transfert serveur ne laisse aucune trace dans le DOM.
- Diff du registre avec delivery_vector. Les hôtes observés sont comparés au registre en gardant client_dom et server_webhook séparés. Un hôte passé du DOM à un flux serveur est un changement, pas une disparition.
- Classification au corpus. Chaque hôte est classé contre la base de connaissances des témoins et le corpus. Les hôtes comportementaux sont étiquetés avec la Loi 25 art. 8.1 et avec le seuil d'influence comportementale du projet de loi C-36, étiqueté en attente, car le projet de loi est en deuxième lecture et n'est pas une loi.
- Triage. Les hôtes connus à l'empreinte inchangée reçoivent des décisions provisoires. Tout ce qui est nouveau, élargi ou conséquent est signalé human_review_required et attend une personne.
- Le sceau canonique. Avant toute publication d'un conteneur de balises, le changement porte un sceau v0.1 (la spec) avec les références OPC-2023-001 ou CAI-LOI25-S8.1, liant le diff exact du conteneur au projet exact qu'une personne a approuvé.
- Le dossier de preuve mensuel. Un PDF plus un JSON par locataire client et par cycle : ce qui a changé, ce qui a expiré, ce qui est inexpliqué (avec l'âge de chaque traceur en jours), et chaque sceau signé du cycle.
- Télémétrie du tableau de bord. Chaque cycle consigne le coût par dossier, la précision de premier passage de la base de connaissances, les heures d'intervention, le taux de renversement et l'âge des traceurs inexpliqués. Le bureau est un produit avec des chiffres, pas un rituel.
L'ingestion des manifestes
Où se branche le gestionnaire de balises
L'ingestion en lecture seule attend un manifeste JSON que le client exporte de son gestionnaire de balises : l'identifiant du conteneur, chaque balise avec son déclencheur et ses destinations, et chaque destination de webhook serveur avec les catégories de données qu'elle transmet. Le bureau n'écrit jamais dans le conteneur; la seule écriture qu'il produit est le sceau qu'une personne signe avant une publication. La forme attendue :
{
"container_id": "GTM-XXXXXXX",
"exported_at_utc": "2026-11-01T09:00:00Z",
"tags": [
{ "name": "ga4-pageview", "vendor": "Google Analytics",
"trigger": "consent_analytics_granted",
"destinations": ["analytics.google.com"] }
],
"server_webhooks": [
{ "destination": "warehouse.example.com",
"events": ["purchase"], "data_categories": ["purchase_event"] }
]
}movahedi.ca ne publie ni conteneur de gestionnaire de balises ni destinations de webhooks serveur, donc cette étape n'avait aucun manifeste de conteneur à ingérer sur l'exécution de référence. La mention de googletagmanager.com dans le code source de la page est le chargeur Google Analytics 4 soumis au consentement (gtag.js, G-0MXQWZ2HBE), pas un conteneur de gestionnaire de balises : il figure au registre comme hôte d'analyses, mais il n'existe aucun conteneur dont tirer un manifeste. Cette distinction est dite plainement ci-dessous plutôt que maquillée.
L'exécution de référence
Exécuté de bout en bout sur movahedi.ca, cycle 2026-11
Le bureau applique sa propre méthode. La cadence complète a tourné sur ce site comme implémentation publique de référence. Ce qu'elle a vraiment trouvé :
- Aucun traceur avant consentement observé par récupération statique; comportement à l'exécution non vérifié.La récupération HTML statique n'a observé ni témoins ni chargements de traceurs avant consentement. Google Analytics 4 et Microsoft Clarity sont codés pour ne se charger qu'après l'activation explicite des analyses par le visiteur; le consentement par défaut refuse le stockage analytique et maintient le refus du stockage publicitaire. Aucune session de navigateur réel n'a eu lieu, donc cette barrière est lue dans le code, non observée en direct.
- Quatre lignes de registre. googletagmanager.com (Google LLC, chargeur GA4 (gtag.js), sous barrière), clarity.ms (Microsoft, analyses, sous barrière), challenges.cloudflare.com (Cloudflare Turnstile, sécurité, approuvé : ne se charge que lorsqu'un visiteur écrit au clavardage du site), et movahedi.ca en première partie (état de consentement et thème, strictement nécessaire, approuvé).
- Un signalement pour révision humaine. La bannière française affiche un texte anglais côté serveur avant que l'îlot de consentement ne s'hydrate et n'applique les chaînes françaises. Les boutons sont symétriques après hydratation. Aucun traceur ne se déclenche dans les deux cas, mais les chaînes par défaut du rendu serveur ont été corrigées. Mise à jour du 4 novembre 2026 : le rendu serveur de la bannière est corrigé. Les chaînes françaises sont maintenant rendues côté serveur sur les pages /fr/ (propriété lang de CookieConsent transmise par BaseLayout), vérifié en direct via curl.
- Une recommandation sous barrière. Clarity peut rejouer des sessions mais est regroupé sous une seule activation générique d'analyses avec GA4. La décision provisoire le maintient sous barrière et recommande un interrupteur distinct pour la relecture de session, ou une mention explicite, avant la phase pilote.
- Zéro traceur inexpliqué. Changements : 0. Expirés : 0. Sceaux signés ce cycle : 0 (aucune publication de conteneur proposée).
Le dossier de preuve de cette exécution, dans les deux formats :
Les limites de la méthode, honnêtement
L'exécution de référence a utilisé des récupérations HTML statiques, pas un navigateur réel, donc les témoins posés à l'exécution, les balises d'exécution et le texte hydraté de la bannière échappent à ce qu'elle pouvait observer. Le comportement réseau avant consentement a été déduit du code de la barrière de consentement, pas d'une session réelle avant consentement. Un cycle client de production exécute l'exploration sans tête du DOM plus l'ingestion des manifestes décrite plus haut.
Les garde-fous
Ce que le bureau mensuel n'absorbe pas
Chaque devis les porte par écrit. Ils empêchent un bureau mensuel forfaitaire de devenir silencieusement un mandat sans limites :
- 1,5 heure de supervision humaine par site de production de base et par mois. Le bureau est calibré pour tenir dedans. Si un cycle en demande plus, le client voit pourquoi dans le tableau de bord avant toute autre chose.
- Plus de cinq nouvelles familles de domaines tiers, ou un CDP serveur non annoncé dans un cycle, déclenche les honoraires de projet pré-chiffrés pour nouveau domaine ou gestionnaire de balises. C'est un projet, pas un dossier mensuel.
- Une analyse de départ avec plus de 15 traceurs inexpliqués avant consentement, ou une bannière à motif trompeur, disqualifie le site du bureau mensuel jusqu'à la fin d'un sprint de remédiation forfaitaire. Le bureau surveille la dérive; il ne blanchit pas une base défectueuse.
Le bureau s'ouvre aux clients pilotes en avril 2027, dossiers mensuels scellés à l'appui. Il ne devient un produit permanent que si les chiffres tiennent : supervision sous 1,5 heure par dossier, précision de premier passage de la base de connaissances au-dessus de 85 %, renversements sous 5 %, et renouvellements à pleine marge.
Note permanente
Ce que cette page n'est pas
Cette page décrit une méthode ouverte. Ce n'est pas un avis juridique, et les sceaux et dossiers qu'elle décrit ne sont pas des certifications de conformité de movahedi.ca. La législation en attente (projet de loi C-36) est étiquetée en attente partout où elle apparaît.