SecuFile
Fonctionnalités principales
Chiffrement E2E, multi-tenant SaaS, stockage distribué
Fonctionnalites principales
Book: SecuFile — Stockage sécurisé de fichiers | Chapter: Vue d'ensemble
Fonctionnalites principales
SecuFile offre un ensemble complet de fonctionnalites pour le stockage securise de fichiers en mode SaaS multi-tenant.
Chiffrement E2E
- AES-256-GCM cote client : Les fichiers sont chiffres dans le navigateur avant l'envoi au serveur. Le serveur ne voit jamais les donnees en clair.
- RSA-4096 hybride : Chaque organisation possede une paire de cles RSA-4096. La cle privee est chiffree par le KMS (Key Management Service) avant d'etre stockee dans PostgreSQL.
- Chunked encryption : Les fichiers volumineux sont chiffres par blocs avec des nonces derives (baseNonce XOR chunkIndex) pour eviter les limites de taille AES-GCM.
- Server-Trust decryption : Mode optionnel ou le serveur peut dechiffrer les fichiers pour les transferts et partages.
Multi-tenant SaaS
- Organisations : Isolation complete des donnees par organisation. Chaque organisation dispose de son propre bucket S3 OVH avec credentials uniques.
- Plans et abonnements : Plans tarifaires configurables (Free, Pro, Business) avec limites de stockage.
- Facturation Stripe : Integration complete avec Stripe pour la gestion des abonnements, paiements, factures et methodes de paiement.
- Invitations : Systeme d'invitation par email pour ajouter des utilisateurs a une organisation.
- Suivi d'utilisation : Metering de l'utilisation du stockage par organisation.
Stockage distribue
- S3 OVH Cloud : Stockage compatible S3 heberge chez OVH Canada (BHS, Beauharnois QC) et OVH France (GRA, Gravelines).
- Multi-region : Choix de la region de stockage a la creation de l'organisation (BHS par defaut pour la conformite canadienne).
- Bucket dedie : Convention de nommage
secufile_{env}_{msp-id}_{org-id}pour l'isolation des donnees. - Auto-provisioning : Creation automatique du bucket S3, des credentials OVH et des dossiers par defaut a la creation de l'organisation.
Partage securise (Share Links)
- Liens de telechargement : Partage de fichiers via liens publics avec protection optionnelle par mot de passe.
- Liens d'upload : Reception de fichiers via des liens publics securises avec consent Loi 25.
- Suivi des acces : Audit trail complet pour chaque acces, telechargement et upload via les liens de partage.
- Texte de consentement : Configurable par organisation pour la conformite Loi 25.
- Expiration : Liens avec date d'expiration configurable.
Transferts de fichiers
- Transferts securises : Envoi de fichiers entre utilisateurs avec notifications email.
- Soft delete : Les transferts desactives preservent les fichiers tout en rendant le lien inoperant.
- Tracking : Suivi de la premiere consultation du transfert (
viewed_at). - Verification email : Codes de verification pour l'acces aux transferts.
Authentification et securite
- JWT : Authentification par tokens JWT avec access token (15 min) et refresh token (7 jours).
- MFA (TOTP) : Authentification multi-facteurs via application TOTP (Google Authenticator, etc.).
- SSO Zitadel : Integration OIDC avec Zitadel pour l'authentification unique.
- Account lockout : Verrouillage apres 5 tentatives echouees pendant 15 minutes.
- Rate limiting : Limitation distribuee via Redis (Auth: 20/min, Public: 60/min, API: 120/min).
- CSRF protection : Validation Content-Type sur les requetes state-changing.
- CORS strict : Configuration obligatoire des origines autorisees.
Observabilite
- Structured logging : Logs JSON structures via
log/slogavec request_id, method, path, duration. - Prometheus metrics : Metriques HTTP, S3, goroutines, logins, uploads sur
/metrics. - Health probes :
/health(liveness) et/ready(readiness avec verification DB et Redis).
Conformite reglementaire
- Loi 25 (Quebec) : Protection des renseignements personnels.
- PIPEDA (Canada) : Conformite avec la loi federale canadienne sur la vie privee.
- RGPD (Union Europeenne) : Support pour les organisations europeennes (region GRA).
- Audit trail : Journalisation complete de toutes les actions sur les fichiers et les acces.