Coffrify
Se connecterCommencer gratuitement
← Trust center
Architecture · v3 · 27 mai 2026

L'architecture en clair. Documentation technique exhaustive pour vos RSSI.

Vue d'ensemble

Coffrify est déployé sur Vercel (région Paris cdg1) pour le frontend et l'API Next.js. Le stockage objet est sur Scaleway Object Storage S3-compatible (région fr-par-2, DC3 + DC5). La base PostgreSQL est managée par Supabase (Frankfurt UE) avec row-level security activée sur toutes les tables tenant.

Topologie · simplifiée
EdgeTLS 1.3 · WAFAPI · webVercel · edgeWorkersscan · webhooksPostgreSQLSupabase · RLSS3 · objectsScaleway · AES-256KMS · HSMFIPS 140-2

Données au repos

Tous les objets dans S3 sont chiffrés AES-256-GCM côté serveur via SSE-S3 (clés gérées par Scaleway HSM). En mode E2E, une couche additionnelle AES-256-GCM côté client est appliquée par chunks de 4 MiB avant upload — la clé est 256-bit aléatoire et transitée par fragment URL (#k=…), donc jamais envoyée en HTTP au serveur. La base PostgreSQL Supabase bénéficie du chiffrement at-rest natif AES-256.

Données en transit

TLS 1.3 obligatoire sur tous les flux entrants. Politique HSTS preloaded (max-age=31536000), certificats ECDSA P-256 émis par Let's Encrypt (rotation 60 jours), strict-transport-security + content-security-policy verrouillés. mTLS entre Vercel edge et les Supabase Edge Functions internes.

Gestion des clés

Hiérarchie à 3 niveaux : KMS Scaleway (HSM-backed, FIPS 140-2 niveau 3) → clés workspace dérivées HKDF-SHA256 → clés par-objet dérivées BLAKE3. Rotation des clés workspace tous les 90 jours, transparente pour les utilisateurs. En mode E2E, la clé est générée aléatoirement côté client (crypto.subtle.generateKey) et n'existe jamais sur nos serveurs.

Isolation tenant

Isolation au niveau base via row-level security PostgreSQL (RLS) sur la colonne workspace_id. Pas de partage de connexion DB entre workspaces. Object Storage : préfixes s3://coffrify/{workspace_id}/avec IAM policies par-workspace. Aucun chemin d'accès cross-tenant possible — testé par red-team semestriel.

Backups

Backups PostgreSQL automatiques par Supabase, chiffrés au repos, rolling 30 jours. Tests de restauration mensuels (automatisés + vérification d'intégrité par hash). Objets storage : versionnés (S3 versioning) avec lifecycle de purge à 365 jours pour les Ultra, 90 jours pour les Pro, 30 jours pour les Free. Aucune réplication hors UE.

DR · RTO · RPO

RTO · plan FreeBest effort (sans engagement)
RTO · plan Pro4 heures
RTO · plan Ultra1 heure · failover automatisé
RPO global≤ 24 heures (cycle backups Supabase)
Dernier exercice DRPlanifié 2026-Q3