Résidence des données
Hébergement actuel us-east-2 (AWS Ohio). Migration ca-central-1 (AWS Montréal) prévue avant Série A. Aucune donnée client transite hors juridiction Loi 25.
Sécurité + Loi 25
Reventis est conçu Loi 25-first. Chaque feature, route, migration respecte les 20 invariants ci-dessous. Aucune exception, aucune dérogation, aucun raccourci.
Les 20 invariants
Consentement horodaté dans user_consents (purpose, ip_cidr, ts, version_tos, user_agent_hash) pour toute collecte PII.
PII minimisée : aucune donnée client sensible (SIN, dossier médical, adresse perso). Données métier uniquement.
IP anonymisée : stockage ip_cidr /24 seulement, jamais l’IP brute.
User-agent hashé SHA-256, jamais le UA brut.
Purge automatique : uploads bruts purgés 90 jours post-ingestion (revenue_streams normalisé conservé).
Chiffrement au repos : tokens OAuth + secrets sensibles via AES-256-GCM (REVENTIS_INTEGRATION_KEY).
Audit security_events systématique : login, MFA, OAuth, paiement, export PDF, suppression, IA compute, closing finalize, cosignature.
RLS active à 100 % : SELECT self-only via auth.uid(), INSERT/UPDATE/DELETE sensibles via service-role.
Aucune clé service-role côté client : SUPABASE_SERVICE_ROLE_KEY jamais dans le bundle browser.
MFA TOTP forcé sur comptes payants (cabinets), sessions 8h max + 30 min inactivité auto-lock.
Rate-limit auth : 5 tentatives / 10 min / IP via auth_failures.
Mots de passe : bcrypt cost 12, min 12 chars, mix maj/min/digit/symbol.
Notification CAI : en cas de brèche, runbook docs/runbooks/incident.md sous 72h.
Data residency : Supabase actuellement us-east-2, migration ca-central-1 (AWS Montréal) avant Série A.
Anti-tamper rapports IA : SHA-256 calculé à l’approve, vérifié à la lecture, alerte si mismatch.
Anti-hallucination IA : evidence_payload Zod-strict, system_prompt "AUCUN chiffre inventé", fallback Haiku si parse fail.
Idempotence webhooks : integration_webhook_events(provider, event_id) UNIQUE + HMAC timingSafeEqual constant-time.
CAA DNS : letsencrypt.org + pki.goog autorisés uniquement, iodef mailto:security@reventis.io.
DMARC : p=none monitoring → durcir vers p=quarantine puis p=reject après 30j stable SPF/DKIM.
Zéro email perso dans l’infra : @gmail.com, @hotmail.com, @outlook.com, @aslouis.com → incident à corriger immédiatement.
Hébergement actuel us-east-2 (AWS Ohio). Migration ca-central-1 (AWS Montréal) prévue avant Série A. Aucune donnée client transite hors juridiction Loi 25.
Notification CAI sous 72h en cas de brèche. Runbook documenté docs/runbooks/incident.md. Registre incidents de confidentialité tenu à jour.
Vulnerability disclosure
security@reventis.io · PGP key on request · responsible disclosure policy applies