# SECURITY-NATIVE-002 — Route Authorization & Signed Installer

## Sécurité des routes
- Autorisation centrale exécutée avant le contrôleur.
- Espaces Famille, Professeur, Direction, Facturation et AXIOM contrôlés côté serveur.
- Toute route non enregistrée est refusée par défaut.
- Les contrôles fins existants dans les contrôleurs restent une seconde barrière.
- Outil : `php tools/audit_route_policies.php`.

## HTTPS et sessions
- `FORCE_HTTPS=true` active la redirection 308 vers HTTPS.
- `TRUST_PROXY_HEADERS=true` uniquement derrière un proxy de confiance.
- Cookies Secure en HTTPS, HttpOnly, SameSite=Lax et mode strict PHP.
- HSTS actif uniquement en production HTTPS.

## Installateur signé
Ce lot est le dernier amorçage manuel, l’ancienne clé privée étant absente de la sauvegarde.
Le nouveau certificat public est installé dans `config/update_signing.php`.
La clé privée de signature n’est jamais distribuée dans le correctif.

Initialisation sur la machine de construction :
`php tools/init_update_signing.php`
Puis reporter la clé publique affichée dans `.env` sous `UPDATE_SIGNING_PUBLIC_KEY_BASE64`.

Construction d’un package :
`php tools/build_signed_update.php --payload=/chemin/payload --package=CDA-XXX --version=9.7.17 --output=/chemin/package.zip --min-version=9.7.16`

Après SECURITY-NATIVE-002, tout futur lot doit passer par le Centre de mises à jour.
