# SECURITY-NATIVE-009 — Secrets, cryptographie et intégrité

Version cible : 9.7.24

## Protections natives

- Coffre de secrets chiffré avec Sodium Secretbox.
- Clé maître fournie uniquement par l'environnement `AXIOM_MASTER_KEY_BASE64`.
- Dérivation séparée des clés selon leur usage et leur version.
- Rotation possible avec `AXIOM_KEY_VERSION` et `AXIOM_PREVIOUS_MASTER_KEYS_BASE64`.
- Aucun secret ni coffre chiffré autorisé dans un package signé.
- Scanner de formats de secrets exécuté avant signature.
- Vérification d'intégrité du noyau et mode strict optionnel.
- Journalisation des anomalies d'intégrité sans contenu sensible.

## Initialisation sur chaque environnement

Exécuter hors du navigateur :

```bash
php tools/generate_master_key.php
```

Copier la valeur produite dans la configuration secrète du serveur. Ne jamais la placer dans Git, un ZIP, une sauvegarde partagée ou le dossier public.

Pour activer le blocage au démarrage après mise en place d'un manifeste d'intégrité validé :

```env
INTEGRITY_STRICT=true
```

## Règle de développement

Les futurs modules doivent lire et écrire leurs secrets uniquement via `App\\Security\\SecretVault`. Les mots de passe utilisateurs restent hachés avec `password_hash()` et ne doivent jamais être stockés dans le coffre en clair.
