Présentation de la sécurité d'Archfold

Archfold est une base de connaissances IA auto-hébergée. Le modèle de langage fonctionne dans Ollama sur votre serveur, et Archfold n'appelle aucun service d'IA dans le cloud. Cette page résume comment il protège les données. Le code source et le guide de déploiement sont publics : vous pouvez en vérifier chaque ligne.

Imprimez cette page ou enregistrez-la en PDF depuis votre navigateur.

Emplacement des données
Tout fonctionne sur votre serveur et le modèle d'IA est local. Après l'installation, aucun conteneur n'accède à Internet : les seules sorties sont des tunnels vers le HashiCorp Vault, le fournisseur SSO et le stockage S3 que vous connectez, chacun vers cette seule adresse. Les fichiers des documents ne quittent le serveur que si vous les conservez sur S3, chiffrés.
Réseau
Chaque service se trouve sur un réseau Docker interne sans route vers Internet. Seul le proxy HTTPS est publié. Le téléchargement des modèles, Vault, le fournisseur SSO et le stockage S3 disposent chacun d'un chemin dédié et étroit. Le premier démarrage télécharge les modèles d'IA ; les suivants n'ont pas besoin d'Internet.
Chiffrement au repos
AES-256-GCM pour les fichiers des documents, le texte des documents, le texte des fragments de recherche, les chats et le journal d'erreurs. Les sauvegardes sont chiffrées avec la même clé.
Clé
Conservée dans backend/.env ou dans HashiCorp Vault, avec un AppRole lié au serveur. Archfold refuse de démarrer avec une clé qui ne correspond pas aux données. La rotation rechiffre tout, en une seule commande.
Contrôle d'accès
Des rôles construits à partir de permissions, sans possibilité d'accorder plus que ce que l'on détient, et le dernier administrateur protégé. Quatre niveaux de document (standard, restreint, confidentiel, secret) sont appliqués dans la liste des documents, dans la recherche et dans chaque réponse.
Connexion
Mots de passe hachés avec bcrypt, limitation des tentatives de connexion, jetons de 15 minutes renouvelés par rotation, sessions de 12 heures au plus, cookies avec protection CSRF. Authentification unique avec OpenID Connect, PKCE et vérification complète du jeton d'identité ; les rôles suivent les groupes du fournisseur.
Audit
Connexions et échecs, modifications des utilisateurs, des rôles et des documents, lectures de documents, y compris ceux que l'assistant a lus pour répondre, et lectures et suppressions des chats d'autres utilisateurs.
Web
HTTPS, HSTS, une Content-Security-Policy stricte, et les documents ouverts dans un bac à sable.
Conteneurs
Le backend et le worker s'exécutent sous un utilisateur non privilégié, sans capacités Linux. Les services sont sur des réseaux séparés, et chacun ne reçoit que les secrets dont il a besoin.
Confidentialité
Les journaux ne contiennent jamais le texte des documents, le contenu des chats ni de secrets. Les chats et les erreurs sont supprimés après leur durée de conservation (les chats après 90 jours sans activité par défaut).

Ce que montre le journal d'audit

Le journal d'audit d'Archfold avec des données d'exemple : connexions, un document ouvert marqué secret, et un contrat confidentiel lu par l'assistant dans un chatLe journal d'audit d'Archfold avec des données d'exemple : connexions, un document ouvert marqué secret, et un contrat confidentiel lu par l'assistant dans un chat
La véritable interface, avec des données d'exemple. L'assistant a lu un contrat confidentiel pour répondre à la question de Marta, et cette lecture est journalisée comme celle d'un document ouvert.

Ce qu'Archfold ne chiffre pas

Archfold ne chiffre pas les noms des documents, les e-mails des utilisateurs, le journal d'audit ni les vecteurs de recherche. Gardez les données du serveur sur un disque chiffré (LUKS). Le guide de déploiement, en anglais, explique comment faire.

Pour signaler une vulnérabilité, suivez la politique de sécurité.