🧭 Règles d’Accès aux Documents : Qui Peut Voir Quoi ?
Indépendamment du rôle ou du groupe d’un utilisateur, l’accès aux documents en texte clair dans l’outil d’administration est strictement conditionné par leur relation avec une entreprise et des espaces de travail spécifiques.✅ Un utilisateur ne peut voir un document en texte clair que s’il se trouve dans :
-
L’espace de travail “Entreprise” de sa propre organisation
→ L’utilisateur peut accéder à tous les documents dans l’espace de travail d’entreprise lié à son entreprise (chaque utilisateur appartient à une et une seule entreprise).
→ Les espaces de travail “Entreprise” d’autres organisations sont entièrement anonymisés. -
Son propre espace de travail personnel
→ L’utilisateur peut voir les documents en texte clair uniquement dans son propre espace personnel.
→ Les documents dans les espaces de travail personnels d’autres utilisateurs sont complètement anonymisés. -
Un espace de travail partagé dont l’utilisateur est explicitement membre
→ L’utilisateur a un accès clair aux documents dans les espaces de travail auxquels il est associé.
→ Dans tous les autres espaces de travail de son entreprise, les documents sont anonymisés (seul l’ID est affiché, pas de nom ou contenu).
👁️🗨️ Que Se Passe-t-il Quand un Utilisateur N’a Pas Accès ?
Si un utilisateur n’a pas de droits d’accès à un document :- Il peut voir que le document existe dans la structure de l’espace de travail (par exemple, dans un espace de travail d’équipe).
- Le document est affiché avec :
- Seulement son identifiant unique (ID).
- Aucune métadonnée visible (titre, contenu, extraits).
- Aucune action disponible pour consulter ou ouvrir le document.
⚙️ Comportement Technique dans l’Outil d’Administration
Chaque modèle lié aux documents applique des fonctions de filtrage conditionnel (“fonctions de redact”) basées sur les règles ci-dessus. Ces fonctions déterminent dynamiquement ce que chaque utilisateur connecté est autorisé à voir.Modèle / Admin | Règle d’Affichage |
---|---|
Réponse de chat | Filtre les liens de chunks basés sur les droits d’accès aux documents liés |
Session de chat | Affichée seulement si l’utilisateur a accès aux documents liés (relation M2M) |
Message de chat | Texte du message affiché seulement si l’utilisateur a les droits appropriés |
Liens de réponse chunk | Filtrés basés sur l’accès aux Document Chunk ou Vision Chunk |
Extrait de document | Affiché seulement si l’utilisateur a accès au document parent |
Collections | Affichées si au moins un document est accessible, documents internes filtrés |
Chunk de document | Visible seulement si l’utilisateur peut accéder au document parent |
Document | Affiché en texte clair seulement si les conditions d’accès sont remplies |
Événement pipeline | Affiché seulement si lié à un document accessible |
Chunks vision | Filtrés basés sur l’accès au document source |
Suggestions de requête | Générées seulement à partir des documents auxquels l’utilisateur peut accéder |
🔐 Sécurité API Étendue
Les mêmes règles de filtrage s’appliquent strictement au niveau API. Un utilisateur ne peut pas :- Accéder au contenu d’un document qu’il n’est pas autorisé à voir.
- Voir les métadonnées des documents auxquels il n’a pas accès.
- Interroger indirectement les données en utilisant des endpoints non autorisés.
🧱 Stockage en Base de Données : Une Nécessité Contrôlée
Pour supporter les fonctionnalités de la plateforme comme la recherche, les agents et l’indexation, les documents doivent être stockés dans la base de données. Tous les droits d’accès sont strictement appliqués au niveau UI, dans l’outil d’administration, et via l’API :🔒 Un utilisateur ne peut jamais accéder à un document sauf s’il y est explicitement autorisé. 👉 Cependant, l’accès direct à la base de données contourne ces protections au niveau applicatif.
Ceci est hors du périmètre de la plateforme : il est de la responsabilité du client de limiter strictement l’accès à la base de données à un petit groupe d’administrateurs de confiance.
✅ Résumé
Localisation du Document | Condition d’Accès Clair |
---|---|
Espace de travail d’entreprise (même entreprise) | ✅ Oui |
Espace de travail personnel de l’utilisateur | ✅ Oui |
Espace de travail partagé dont l’utilisateur fait partie | ✅ Oui |
Espace de travail de la même entreprise (pas membre) | ❌ Anonymisé (ID seulement) |
Espace de travail d’une autre entreprise | ❌ Complètement caché |
- 📄 Les documents sont filtrés en temps réel basés sur les règles ci-dessus.
- 👁️🗨️ Les documents inaccessibles apparaissent anonymisés (ID seulement).
- 🔐 L’API applique la même logique d’accès que l’outil d’administration.
- 🧱 Le stockage des documents est requis, mais l’accès DB doit être étroitement restreint par le client.