> ## Documentation Index
> Fetch the complete documentation index at: https://docs.snakysec.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Project state

# Project State

Document **vivant** de l'état du projet. Remplace les snapshots datés (`project-state-2026-03-02.md`, `milestone-1-lockdown-2026-03-02.md` archivés).

**Dernière revue majeure : 2026-04-14** (revue complète de la documentation).

***

## Cible commerciale

* **V1 commerciale** : Q2 2026
* **Cible client** : PME France / Europe, zéro maturité sécurité, turnkey managed service
* **Mode** : solo dev (Nicolas, fondateur + expert MSSP)

***

## Métriques produit

| Domaine      | Métrique              | Valeur                                                                                                        |
| ------------ | --------------------- | ------------------------------------------------------------------------------------------------------------- |
| Audit engine | Contrôles évalués     | **220** (CIS M365 v6.0.1 : 140 + CISA SCuBA v1.5.0 : 94)                                                      |
| Audit engine | Product areas         | 8 (Entra, Exchange, Teams, SharePoint, Defender, Purview, Fabric, Intune)                                     |
| Audit engine | Automatisation        | 87% (26 contrôles SCuBA EXO encore `manual`)                                                                  |
| Plateforme   | Modèles Prisma        | 13                                                                                                            |
| Plateforme   | Documents GRC générés | 8 (PSSI, Access, Incident, Remediation, Classification, Breach Notification, IT Charter, Processing Register) |
| Plateforme   | Rôles applicatifs     | 3 (MSSP\_ADMIN, ANALYST, CLIENT\_USER)                                                                        |
| Plateforme   | Langues rapports      | FR + EN                                                                                                       |

***

## État par chantier

### Moteur d'audit — 87% complet

* ✅ 220 contrôles évalués via Graph API + cmdlets EXO/Teams/PnP
* ✅ Schema v3.0 (7 statuts), artefacts JSON
* ✅ OIDC Workload Identity Federation en CI (zero long-lived secret)
* ✅ Pre-flight permissions (`Test-MsspRequiredPermissions`)
* ✅ Hybrid detection (`Test-MsspTenantHybrid`) + `applicability.hybridOnly` gate
* ✅ Manual validation guides pour contrôles non automatisables
* ⏳ 13 faux positifs à diagnostiquer (1 résolu sur 14 identifiés)
* ⏳ 26 SCuBA EXO à automatiser (Attachment filtering, Malware scanning, Anti-Phishing, Spam, Safe Links, DLP, Alerts, Audit Logging)

### Plateforme SaaS — 95% complet

* ✅ Next.js 16 + React 19 + Prisma 7 (13 modèles) + PostgreSQL + Redis + BullMQ
* ✅ Auth NextAuth v5 + Entra ID SSO (cert X.509 via Vault), RBAC 3 rôles
* ✅ Multi-tenant (domaine → Vault → SSO config) + audit log applicatif
* ✅ Orchestration audits : trigger UI → GitLab CI → webhook → BullMQ → Prisma → alertes
* ✅ Reviewer workflow (`ControlReviewHistory`)
* ✅ 8 documents GRC (DOCX + PDF, FR + EN)
* ✅ Rapports audit PDF/Excel/HTML
* ✅ Observabilité Sentry full-pipeline + scrubbing PII
* ✅ Portail client read-only, scheduling BullMQ, API keys, gestion secrets (AES-256-GCM)
* ⏳ Zéro test Vitest/Playwright — bloquant V1
* ⏳ Intégration DICT (tagging 220 contrôles + radar 4 axes dashboard)

### Infrastructure — prod-ready (pré-prod local)

* ✅ Docker Compose overlays par service (app, postgres, redis, vault, traefik, openproject)
* ✅ Vault Shamir seal (5 shares, threshold 3 — 3 DR Owner + 2 trustee notaire) + AppRole
* ✅ Prisma 7 avec `prisma.config.ts` + regenerate au container startup
* ✅ Traefik : mkcert en dev, Let's Encrypt en prod
* ⏳ Déploiement VPS production OVH (actuellement pré-prod Docker Desktop Windows, cible MacBook Pro + VPS)

***

## Gates bloquants V1

Priorité immédiate avant démo Q2 2026 :

1. **14 faux positifs audit** — impacte crédibilité score client
2. **26 SCuBA EXO automation** — complétude perçue du framework
3. **Tests plateforme** — zéro couverture → risque régression
4. **DICT integration** — différenciateur cohérent avec PSSI ANSSI

Voir [ROADMAP.md](../ROADMAP.md) pour le détail et les P2/P3.

***

## Dépendances clés

| Dépendance | Version        | Contrainte / Risque                                                                                                 |
| ---------- | -------------- | ------------------------------------------------------------------------------------------------------------------- |
| Next.js    | 16 (Turbopack) | Stable, aligné React 19                                                                                             |
| Prisma     | 7              | `prisma.config.ts` obligatoire (breaking vs 6.x)                                                                    |
| NextAuth   | v5             | Rotation `AUTH_SECRET` invalide toutes sessions                                                                     |
| Vault      | 1.x            | Shamir shares perdus = perte secrets (5/3 + trustee notaire mitige, cf. [dr/01-keyholders.md](dr/01-keyholders.md)) |
| GitLab CI  | SaaS           | OIDC WIF stable, rotation token manuelle                                                                            |
| Sentry     | SaaS           | Migration self-hosted planifiée Q3-Q4 2026                                                                          |
| Graph API  | v1.0 + beta    | Propriétés beta peuvent changer (vérifier via MCP avant chaque édition)                                             |

***

## Documentation

* **Instructions Claude** : [CLAUDE.md](../CLAUDE.md)
* **Agents / skills** : [AGENTS.md](../AGENTS.md)
* **Architecture** : [architecture.md](architecture.md)
* **Runbook opérateur** : [runbook.md](runbook.md)
* **Roadmap Q2 + post-V1** : [roadmap-2026-Q2.md](roadmap-2026-Q2.md)
* **Catalogue contrôles** : [controls-catalog.md](controls-catalog.md)
* **Permissions Graph** : [permissions-graph.md](permissions-graph.md)
* **Schema rapport v3** : [report-model.md](report-model.md)
* **Sécurité / threat model** : [SECURITY.md](SECURITY.md)
* **Catalogue GRC** : [GRC-CATALOG.md](GRC-CATALOG.md)
* **Observabilité Sentry** : [OBSERVABILITY.md](OBSERVABILITY.md)
* **Demo checklist** : [demo-checklist.md](demo-checklist.md)
* **ADR** : [adr/](adr/)
