Documentation Index
Fetch the complete documentation index at: https://docs.finkare.io/llms.txt
Use this file to discover all available pages before exploring further.
Architecture
Les audit logs Finkare utilisent une hash chain SHA-256 pour garantir l’immutabilité et la traçabilité de chaque opération sensible. Chaque entrée contient le hash de l’entrée précédente, formant une chaîne cryptographique inviolable.
Entry N: { data, hash: SHA-256(data + hash_N-1) }
Entry N+1: { data, hash: SHA-256(data + hash_N) }
Toute modification ou suppression d’une entrée invalide la chaîne et est immédiatement détectable.
Événements audités
Authentification
| Événement | Description |
|---|
CLIENT_CREATED | Création d’une nouvelle clé API |
CLIENT_UPDATED | Mise à jour d’un client (rotation de clé, scopes) |
CLIENT_DISABLED | Révocation d’une clé API |
AUTH_SUCCESS | Authentification réussie |
AUTH_FAILURE | Tentative d’authentification échouée |
TOKEN_ISSUED | Token OAuth émis |
TOKEN_REVOKED | Token OAuth révoqué |
Actions métier
| Événement | Description |
|---|
INVOICE_CREATED | Facture importée |
INVOICE_CANCELLED | Recouvrement annulé |
WORKFLOW_TRIGGERED | Action de workflow déclenchée (start, pause, resume, escalate) |
PAYMENT_RECEIVED | Paiement enregistré |
COMMUNICATION_SENT | Relance envoyée (email, SMS, LRAR, appel) |
ANTI_HARASSMENT_CORRECTION | Correction appliquée par le moteur de validation anti-harcèlement |
Administration
| Événement | Description |
|---|
WEBHOOK_CREATED | Webhook configuré |
WEBHOOK_DELETED | Webhook supprimé |
SECRET_ROTATED | Secret de webhook régénéré |
DATA_EXPORT | Export de données (RGPD) |
DATA_DELETION | Effacement de données (RGPD) |
Structure d’une entrée
{
"id": "audit_a1b2c3d4",
"type": "INVOICE_CREATED",
"timestamp": "2026-04-08T10:00:00.000Z",
"clientId": "fk_client_mgen_prod",
"companyId": "company_abc123",
"requestId": "req_xyz789",
"outcome": "success",
"metadata": {
"invoiceId": "c3d4e5f6-a1b2-7890-cdef-1234567890ab",
"invoiceNumber": "FAC-2026-042",
"amountCents": 285000
},
"hash": "a7f3b2c1d4e5...sha256",
"previousHash": "e5d4c3b2a1f0...sha256"
}
Rétention
| Type de log | Durée de conservation | Justification |
|---|
| Audit métier | 5 ans | Obligations légales (Code de commerce) |
| Audit sécurité | 3 ans | Conformité SOC 2 |
| Corrections anti-harcèlement | 5 ans | Preuve de conformité CPCE |
| Logs techniques (requêtes API) | 12 mois | Monitoring et debug |
SOC 2 — Readiness
L’architecture des audit logs Finkare est conçue pour la conformité SOC 2 Type II :
| Critère SOC 2 | Implémentation |
|---|
| CC6.1 — Accès logique | Authentification API Key / OAuth, scopes granulaires |
| CC6.2 — Restrictions d’accès | IP whitelist, rate limiting, CORS restrictif |
| CC7.2 — Monitoring | Audit logs immutables, hash chain SHA-256 |
| CC7.3 — Réponse aux incidents | Alerting automatique, rotation de secrets |
| CC8.1 — Gestion des changements | Versioning API, changelog public |
Intégrité de la chaîne
La vérification de l’intégrité de la hash chain peut être effectuée par un auditeur externe :
// Pseudo-code de vérification
function verifyChain(entries: AuditEntry[]): boolean {
for (let i = 1; i < entries.length; i++) {
const expectedHash = sha256(
JSON.stringify(entries[i].data) + entries[i - 1].hash
);
if (entries[i].hash !== expectedHash) {
console.error(`Chaîne brisée à l'entrée ${i}`);
return false;
}
}
return true;
}
Export pour audit
Les audit logs peuvent être exportés en format JSON ou CSV pour audit externe. Contactez hello@finkare.io pour organiser un accès auditeur dédié.