Notre philosophie : la défense en profondeur
La sécurité d'Alpgain repose sur un principe de défense en profondeur : si une couche est compromise, les autres restent intactes. Aucune donnée sensible n'est accessible depuis un seul point de défaillance.
Nous appliquons également un principe de moindre privilège : chaque composant du système n'a accès qu'aux données strictement nécessaires à son fonctionnement. Le frontend ne voit pas les données chiffrées. L'IA ne reçoit aucun montant brut. Les fonctions système opèrent dans des contextes isolés.
Les 4 couches de sécurité
Chiffrement des données sensibles au repos
Les soldes de comptes et autres données financières sensibles sont stockés chiffrés dans la base de données PostgreSQL. Le frontend React ne reçoit et n'affiche jamais les champs chiffrés bruts — le déchiffrement se fait uniquement côté serveur, dans des fonctions sécurisées (Edge Functions Deno) utilisant des clés de service.
Row-Level Security (RLS) PostgreSQL
Toutes les tables contenant des données utilisateur ont des politiques RLS activées. Cela signifie qu'au niveau de la base de données elle-même, une requête ne peut retourner que les lignes appartenant à l'utilisateur authentifié — même si une erreur applicative survenait, la base de données refuserait l'accès aux données d'un autre utilisateur.
Zero-knowledge pour l'assistant IA
L'assistant IA intégré à Alpgain n'a jamais accès à vos montants réels. Seuls des ratios anonymisés et des métadonnées (pourcentage d'allocation, tendances relatives) sont transmis. Vos soldes, transactions et données d'identification ne quittent jamais nos serveurs pour alimenter un modèle d'IA.
Authentification sécurisée via Supabase Auth
L'authentification utilise des JWT (JSON Web Tokens) signés, avec des sessions à durée limitée. Les mots de passe ne sont jamais stockés en clair — Supabase Auth utilise bcrypt. La clé publique (anon key) ne donne accès à rien au-delà de ce que les politiques RLS autorisent explicitement.
Le chiffrement en détail
Les champs sensibles — notamment les soldes de comptes — sont stockés dans la base de données sous forme chiffrée, avec un suffixe _encrypted. La clé de déchiffrement n'est accessible qu'aux Edge Functions opérant avec le service_role Supabase — un rôle système avec des permissions élevées, jamais exposé au navigateur.
Principe clé : La clé anon (publique) utilisée par le frontend React ne permet jamais de lire un champ _encrypted directement. Même avec les DevTools ouverts, un utilisateur malveillant ne peut pas extraire les soldes chiffrés d'un autre compte — les politiques RLS bloquent l'accès au niveau de la base de données.
Row-Level Security : l'isolation par utilisateur
Supabase (PostgreSQL) permet de définir des politiques de sécurité directement dans la base de données. Chez Alpgain, chaque table de données utilisateur a des politiques du type :
"Un utilisateur authentifié peut lire uniquement les lignes dont le champ user_id correspond à son propre identifiant JWT."
Ces règles s'appliquent à chaque requête SQL, quelle que soit la couche applicative. C'est une garantie de la base de données elle-même, pas seulement du code applicatif. Si demain le code frontend avait un bug, la base de données rejetterait quand même toute tentative d'accès croisé entre utilisateurs.
Où sont hébergées vos données ?
| Composant | Hébergeur | Localisation |
|---|---|---|
| Base de données (PostgreSQL) | Supabase | Europe (AWS eu-central-1) |
| Edge Functions (logique serveur) | Supabase Deno Runtime | Europe |
| Frontend (application web) | Infomaniak | Suisse |
Supabase est conforme SOC 2 Type II et HIPAA. Les données résident dans les régions AWS européennes, ce qui est compatible avec les exigences de la Loi fédérale suisse sur la protection des données (LPD) et du RGPD européen.
Ce que nous ne ferons jamais
- Vendre vos données — Alpgain est un outil, pas une plateforme publicitaire. Vos données financières ne sont pas monétisées.
- Partager vos montants avec des tiers — aucune API tierce ne reçoit vos soldes, transactions ou données d'identification.
- Accéder à votre compte sans consentement — même en cas de support technique, l'équipe Alpgain n'a pas accès à vos données financières chiffrées sans votre clé.
- Stocker des mots de passe en clair — l'authentification est entièrement gérée par Supabase Auth avec bcrypt.
Une stack open source, auditée et connue
Alpgain est construit sur des technologies ouvertes : React, PostgreSQL, Supabase, Deno. Ce n'est pas de la sécurité par l'obscurité — ce sont des briques technologiques éprouvées, auditées par des milliers d'entreprises, avec des processus de divulgation de vulnérabilités publics et actifs.
Nos dépendances sont auditées régulièrement via npm audit et SonarCloud pour la qualité du code. Aucune dépendance avec des vulnérabilités connues (CVSS > 7) n'est tolérée en production.
En résumé : ce qui protège vos données
- Soldes chiffrés au repos, déchiffrés uniquement côté serveur (jamais dans le navigateur)
- Row-Level Security PostgreSQL : isolation stricte entre utilisateurs au niveau base de données
- Assistant IA zero-knowledge : aucun montant brut transmis au modèle
- JWT signés avec sessions limitées, mots de passe bcrypt
- Infrastructure hébergée en Europe, compatible LPD et RGPD
- Aucune vente ni partage de données financières avec des tiers
- Stack open source auditée, analyse SonarCloud continue
Prêt à centraliser votre patrimoine ?
Rejoignez l'alpha fermée d'Alpgain et gérez comptes, investissements et prévoyance en toute confiance.