Cas d’usage
Immutabilité du registre fiscal (ISCA + chaîne SHA-256)
Audit trail crypto-vérifiable + ISCA Guard Eloquent
Scell.io implémente l'immutabilité fiscale via deux mécanismes complémentaires : (1) une chaîne de hachage SHA-256 sur la table `fiscal_entries` où chaque entrée embarque le hash de la précédente, (2) un ISCA Guard niveau Eloquent qui bloque toute modification d'un champ fiscal sur une facture/avoir/clôture en statut autre que `draft`. Toute tentative est journalisée dans `fiscal_audit_logs` avec sévérité `critical`. L'intégrité globale est vérifiable via `GET /api/v1/fiscal/integrity` qui recalcule la chaîne complète et retourne `valid: true/false` + le premier index corrompu. Conforme aux exigences ISCA de la DGFiP.
À retenir
- Hash SHA-256 par entrée incluant le hash précédent
- ISCA Guard Eloquent : modification bloquée hors `draft`
- Logs critiques dans `fiscal_audit_logs`
- Endpoint `GET /api/v1/fiscal/integrity` de vérification
- Anchor TSA RFC 3161 quotidien (FiscalAnchor)
- Conservation 10 ans + export FEC DGFiP-compliant
Exemple de code
import { ScellClient } from '@scell/sdk';
const scell = new ScellClient({ apiKey: process.env.SCELL_SECRET_KEY! });
// Vérifier l'intégrité du registre fiscal (cron quotidien recommandé)
const integrity = await scell.fiscal.integrity();
if (!integrity.valid) {
// Alerte critique : la chaîne est cassée
await alertOps({
severity: 'critical',
message: `Fiscal log corrupted at entry #${integrity.first_corrupted_index}`,
details: integrity,
});
throw new Error('Fiscal integrity violation');
}
console.log(`Chain valid up to entry #${integrity.last_index}`);