Conservation des Données — NF525
Exigence NF525 : Les données de règlement doivent être conservées pendant une durée minimale de 6 ans (obligation fiscale française).
1. Données conservées
1.1 Données de caisse (obligatoires)
| Table | Contenu | Durée minimale |
|---|---|---|
orders |
Commandes avec signatures ECDSA | 6 ans |
order_items |
Détail des articles commandés (snapshots) | 6 ans |
audit_logs |
Journal d'événements signé | 6 ans |
1.2 Données de référence
| Table | Contenu | Conservation |
|---|---|---|
categories |
Catégories de produits | Durée de vie du système |
products |
Articles de la carte | Durée de vie du système |
users |
Personnel | 6 ans après désactivation |
rooms / tables |
Plan de salle | Durée de vie du système |
payment_methods |
Moyens de paiement | Durée de vie du système |
vat_rates |
Taux de TVA | 6 ans (historique requis) |
2. Snapshots et historique
2.1 Principe du snapshot
Lors de la création d'une commande, les données du produit sont copiées (snapshot) dans order_items :
| Champ order_items | Source |
|---|---|
product_name |
products.name au moment de la vente |
product_price |
products.price au moment de la vente |
vat_rate |
vat_rates.rate au moment de la vente |
Cela garantit que la modification ultérieure d'un produit ou d'un taux de TVA n'affecte pas les commandes passées.
2.2 Soft delete
Les enregistrements ne sont jamais supprimés physiquement :
- Les utilisateurs sont désactivés (active = false), jamais supprimés
- L'historique des taux TVA est conservé même après modification
3. Stockage
3.1 Développement
| Paramètre | Valeur |
|---|---|
| Moteur | SQLite |
| Fichier | restaurant.db (racine du projet) |
| Sauvegarde | Copie manuelle |
3.2 Production
| Paramètre | Valeur |
|---|---|
| Moteur | PostgreSQL 16+ |
| Sauvegardes | WAL archiving + pg_dump quotidien |
| Rétention | 6 ans minimum (obligation fiscale) |
| Chiffrement | Au repos (AES-256) et en transit (TLS 1.3) |
4. Intégrité des données conservées
L'intégrité des données conservées est garantie par :
- Chaîne de signatures ECDSA sur les commandes et le journal d'audit
- Vérification automatique à chaque clôture journalière
- Endpoint de vérification accessible aux auditeurs :
GET /api/v1/audit/verify