§ Proven guarantees
§ Garanties prouvées
Fourteen guarantees. Proven in CI, not in a slide deck.
Quatorze garanties. Prouvées en CI, pas dans une présentation.
Every guarantee below is an automated end-to-end test. Green bar in continuous integration, or authicto does not deploy. Each one traces back to a numbered section in the architecture document — so a reviewer can audit the claim, not just read it.
Chaque garantie ci-dessous est un test automatisé de bout en bout. Barre verte en CI, sinon authicto ne déploie pas. Chacune renvoie à une section numérotée du document d'architecture — le reviewer peut auditer la preuve, pas seulement la lire.
VERIFIED IN CI
VÉRIFIÉ EN CI
14 / 14 GUARANTEES
14 / 14 GARANTIES
01§ 5.1
End-to-end OIDC flow
Flux OIDC de bout en bout
Authorization Code + PKCE S256, from initiation to active session, fully traceable and reproducible.
Authorization Code + PKCE S256, de l'initiation à la session active, entièrement traçable et reproductible.
Verified
Vérifié
02§ 5.4
Ten-step token validation
Validation du token en dix étapes
Signature, iss, aud, exp, iat, nbf, nonce, JTI, ACR, sub. Every step logs before it rejects.
Signature, iss, aud, exp, iat, nbf, nonce, JTI, ACR, sub. Chaque étape journalise avant de rejeter.
Verified
Vérifié
03§ 5.3
JWKS lock under load
Verrouillage JWKS sous charge
A distributed Redlock guards JWKS refresh against thundering-herd concurrent fetches — exactly one fetch in flight.
Un Redlock distribué protège le rafraîchissement du JWKS contre la ruée concurrente — un seul fetch en vol à la fois.
Verified
Vérifié
04§ 5.2
Multi-tab concurrency
Concurrence multi-onglets
Strict per-tab OIDC state isolation in Redis — no overwrites, each state consumed exactly once.
Isolation stricte de l'état OIDC par onglet dans Redis — pas d'écrasement, chaque state consommé une seule fois.
Verified
Vérifié
05§ 5.5
JTI replay detection
Détection de rejeu JTI
Every consumed token lands in a shared replay cache. A second presentation is rejected at the edge.
Chaque token consommé est enregistré dans un cache de rejeu partagé. Une seconde présentation est rejetée en bordure.
Verified
Vérifié
06§ 6.3
Session version counter
Compteur de version de session
Atomic increment on the primary database. Older-version sessions become invalid instantly.
Incrément atomique sur la base primaire. Les sessions en version antérieure deviennent invalides instantanément.
Verified
Vérifié
07§ 7.4
Identity revocation fan-out
Fan-out de révocation d'identité
An admin revoke invalidates every Redis session for that user via prefix scan — no window for a revoked token to be accepted.
Une révocation admin invalide toutes les sessions Redis de l'utilisateur par balayage de préfixe — aucune fenêtre ne permet qu'un token révoqué soit accepté.
Verified
Vérifié
08§ 8.1
ACR step-up
Step-up ACR
A sensitive operation triggers second-factor re-authentication — controlled transition from standard to high assurance (ACR:1 → ACR:2 in OIDC terms). Never a silent upgrade.
Une opération sensible déclenche une réauthentification par second facteur — transition contrôlée d'une assurance standard vers une assurance élevée (ACR:1 → ACR:2 en termes OIDC). Jamais une élévation silencieuse.
Verified
Vérifié
09§ 8.3
Step-up revocation guard
Vérification de révocation au step-up
Revocation status is re-checked before any ACR update. A revoked user mid-flow cannot complete the upgrade.
Le statut de révocation est revérifié avant toute mise à jour ACR. Un utilisateur révoqué en cours de flux ne peut pas terminer l'élévation.
Verified
Vérifié
10§ 7.2
Consent enforcement
Application du consentement
Every attribute access checks an active, versioned, timestamped consent. Revocation triggers automated removal.
Chaque accès à un attribut vérifie un consentement actif, versionné et horodaté. La révocation déclenche une exclusion automatique.
Verified
Vérifié
11§ 4.6
Vault token auto-renewal
Renouvellement automatique du token Vault
Watchdog thread re-authenticates to Vault before token expiry — zero downtime on the identity layer. Client secret hot-reload ships in the next phase.
Le thread watchdog se réauthentifie auprès de Vault avant l'expiration du token — zéro downtime sur la couche identité. Le hot-reload des secrets clients arrive dans la prochaine phase.
Verified
Vérifié
12§ 5.7
Discovery cache fallback
Repli du cache de discovery
Three-tier cache — Redis → live → filesystem. An IdP discovery outage does not degrade authentication.
Cache à trois niveaux — Redis → live → filesystem. Une indisponibilité du discovery IdP ne dégrade pas l'authentification.
Verified
Vérifié
13§ 9.2
Clock drift monitoring
Supervision de dérive d'horloge
Clock offset > 2 s triggers a Prometheus alert and rejects tokens outside the configured tolerance.
Un décalage d'horloge > 2 s déclenche une alerte Prometheus et rejette les tokens en dehors de la tolérance configurée.
Verified
Vérifié
14§ 7.1
Append-only audit log
Journal d'audit append-only
A PostgreSQL trigger blocks UPDATE and DELETE at the engine level. Every event is mirrored to SIEM, non-repudiable by construction.
Un trigger PostgreSQL bloque UPDATE et DELETE au niveau moteur. Chaque événement est miroité vers le SIEM, non-répudiable par construction.
Verified
Vérifié