Aller au contenu

Architecture Decision Records

Un ADR trace une décision structurante : son contexte, l'arbitrage rendu, sa justification et ses conséquences. On en écrit un quand la décision est coûteuse à revenir dessus, quand deux documents se contredisent, ou quand le choix surprendra quelqu'un qui arrive sur le projet dans six mois.

ADR Titre Statut
001 Formule du score de risque composite Accepté
002 GitLab comme dépôt principal, abandon de GitHub Accepté, complété par 015
003 Authentification JWT livrée dès la phase 1 Accepté
004 Recalage du planning sur la fin réelle de la phase 1 Proposé
005 Cycle de vie et déduplication des IOC Proposé
006 Provenance multi-sources, OTX et collecte planifiée Proposé
007 Moteur CVE : sources, recalcul, ligne de base des alertes Proposé
008 Incidents : chronologie immuable, incident issu d'une alerte Proposé
009 Threat hunting : règles déterministes, deux modes, sessions Proposé
010 Client TAXII 2.1 : taxii2-client durci, transport maison en repli Proposé
011 Durcissement de production : audit append-only, couche HTTP, limitation compte × IP Proposé
012 Rôles PostgreSQL séparés, sessions révocables, rotation de clé, Redis protégé Proposé
013 Déploiement : TLS par Caddy, migrations isolées, analyse d'image, entretien quotidien Proposé
014 Score : dépendance à EPSS et plancher KEV Accepté (A + B + C)
015 Miroir GitHub : CI, documentation publiée, image Docker et releases Accepté
016 Interface web : React + TypeScript, temps réel par SSE, système de design v6 (v7 puis v8 le 11/10) Accepté
017 M8 : confiance des IOC d'abord (Amirauté, fraîcheur, récurrence), corrélation ensuite Accepté
018 Identité ILL Watch : le brand book v2 fait autorité sur l'interface (logo, jetons, Inter, voix) Accepté
019 Enrichissement hors ligne des IP : DB-IP Lite (pays, AS) importée localement, aucune requête par IOC Accepté
020 Corrélation : inventaire d'actifs, trois règles (KEV, exploit, actif dans un IOC), score justifié, mesure sur jeu figé Accepté
021 Corrélation par version : plages vulnérables NVD, verdict par actif Accepté
022 M9 SOC Operations : niveaux L1/L2/L3, faux positifs et liste d'exclusion, chasse depuis l'incident, recommandations, règles versionnées, pilotage (MTTA, MTTR, délais cibles) Accepté
023 M10, incrément 1 : contexte MITRE ATT&CK des détections (technique par règle, acteur cité en toutes lettres) Accepté
024 M10, incrément 2 : campagnes, infrastructure (IOC rattachés), attribution par l'infrastructure Accepté
025 M10, incrément 3 : export STIX 2.1 et serveur TAXII 2.1 en lecture seule (Bearer ou Basic) Accepté
026 M11 : métriques Prometheus, Grafana, alertes, environnements, acceptation en CI, restauration mensuelle Accepté

Gabarit

# ADR-NNN — Titre

- **Statut :** proposé / accepté / remplacé par ADR-XXX
- **Date :** AAAA-MM-JJ
- **Décideurs :**
- **Concerne :** module, exigence

## Contexte
Ce qui force une décision. Les faits, pas les opinions.

## Décision
Ce qui est décidé, en une phrase affirmative.

## Justification
Pourquoi cette option plutôt que les autres. Les options écartées et leur raison.

## Conséquences
Positives et négatives. Les négatives sont obligatoires : une décision sans coût n'en est pas une.

## Suivi
Les actions ouvertes que cette décision crée.