Skip to content

docs(dbt): correct RGPD comments on stg_sirene (no masking, not exposed) - #93

Merged
GMartin-Data merged 1 commit into
mainfrom
chore/sirene-rgpd-comment
Jun 4, 2026
Merged

GMartin-Data merged 1 commit into
mainfrom
chore/sirene-rgpd-comment

Conversation

@GMartin-Data

@GMartin-Data GMartin-Data commented Jun 4, 2026 •

Copy link
Copy Markdown
Owner

Contexte

En préparant le Sujet 4 (gouvernance/RGPD) de l'exposé de soutenance, une relecture de stg_sirene__etablissements a révélé deux affirmations de documentation fausses au regard du SQL — exactement le type d'écart discours/code que le jury peut relever (brief l.95 : « questions sur n'importe quelle partie du code »).

Le fond est rassurant : stg_sirene est un modèle terminal. La jointure FT × Sirene ayant été abandonnée (D14-bis, SIRET absent à 100 % des offres), Sirene n'alimente aucun mart — vérifié : zéro ref() vers un modèle Sirene dans le projet, et fct_offres ne contient ni SIRET/SIREN ni dénomination Sirene. La PII Sirene n'est donc jamais exposée : pas de diffusion → masquage non requis (principe de minimisation RGPD). Restait à aligner les commentaires sur cette réalité.

Changements

  • dbt/models/staging/sirene/_sirene__models.yml :
    • Commentaire d'en-tête (colonnes pii) : précise que le tag sert la traçabilité (inventaire des PII, requêtable via tag:pii) et qu'aucun masquage n'est appliqué car le modèle n'est pas exposé. L'ancien texte renvoyait à un masquage inexistant.
    • Description de is_diffusion_partielle : supprime l'affirmation fausse « Les colonnes d'adresse détaillée sont exclues du staging » (le SQL n'exclut rien sur cette base). Reformulée en : flag de statut INSEE 'P' capturé pour traçabilité, non exploité en aval.

Aucun changement de code ou de logique — documentation uniquement. Les tags pii (7 colonnes) et le filtre actifs (etatAdministratifEtablissement = 'A') restent inchangés.

Validation

$ uv run dbt parse --quiet
$ echo $?
0

dbt parse passe (YAML valide). Pre-commit : Conventional Commit ✅, ruff skipped (pas de .py touché).

$ git diff --stat origin/main
 dbt/models/staging/sirene/_sirene__models.yml | 13 ++++++++-----
 1 file changed, 10 insertions(+), 3 deletions(-)

Refs

  • D14-bis — abandon de la jointure FT × Sirene (cause-racine : Sirene devient terminal).
  • Le sort de stg_sirene est entériné : livrable technique conservé comme archive pour la soutenance (vestige assumé de la jointure abandonnée), il n'alimente volontairement aucun mart.
  • Hors PR (suivi séparé) : reformulation du discours slide E4 (contenu-slides.md, hors repo) sur « minimisation + non-exposition » plutôt que « masquage ».

The header comment referenced a masking that is never applied, and the
is_diffusion_partielle description claimed address columns are excluded
from staging — both inaccurate against the SQL.

stg_sirene is a terminal model: the FT × Sirene join was abandoned
(D14-bis, SIRET absent from offers), so Sirene feeds no mart and its PII
is never exposed downstream. Masking is therefore not required; the pii
tags serve traceability (PII inventory, queryable via tag:pii) and the
diffusion flag is captured but unused. Comments now state this honestly.

No code or logic change — documentation only. dbt parse passes.
@ESNAULTQ
ESNAULTQ self-requested a review June 4, 2026 09:25
@GMartin-Data
GMartin-Data merged commit 7ba80b9 into main Jun 4, 2026
6 checks passed
@GMartin-Data
GMartin-Data deleted the chore/sirene-rgpd-comment branch June 4, 2026 11:03
GMartin-Data added a commit that referenced this pull request Jun 4, 2026
…93 (#95)

Several node labels overflowed their boxes in LR flowcharts (text cropped
at render): STG_FT, INT_ANA, FCT_OFF in the dbt lineage diagram, and GAP
in the monitoring diagram. Split the long lines with extra <br/> — no text
or meaning changed, only line-break points.

Also correct STG_SI: "masquage RGPD" → "tags PII · non exposé", aligning
the diagram with PR #93 (no masking is applied; Sirene is a terminal model,
PII tagged for traceability but never exposed downstream — D14-bis).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants