Aller au contenu
KENNAN · Dépêche · 2026.10.29 · NYC · LON · FRA

Sécurité · Kennan AI

Comment Kennan traite l’information privilégiée, dès l’infrastructure.

Construit sur GCP, avec une isolation par organisation appliquée sur trois couches et des flux de données vers les fournisseurs encadrés par contrat. Notre posture publique est détaillée ci-dessous ; le dossier de revue SOC 2 est disponible dans le cadre d’un accord de traitement des données (DPA).

Les cinq sections ci-dessous couvrent l’infrastructure sous-jacente, la manière dont chaque client est isolé des autres, qui voit quelles données, ce dont nous héritons du fournisseur cloud et ce à quoi nous nous engageons de notre côté. Pour les documents de revue, la signature d’un DPA ou le signalement d’une vulnérabilité : security@kennan.ai.

§ 1 · Socle

Sur quoi repose le produit.

GCP – et seulement GCP – se trouve sur le chemin des informations privilégiées (MNPI). Chaque couche d’infrastructure dispose d’une interface de port : un déploiement dans le VPC propre d’un client, inscrit à la feuille de route, relève donc d’un changement de configuration, pas d’une copie distincte du code.

Calcul

GCP Cloud Run · microVM Gen2

Isolation matérielle par hyperviseur (VMM) entre les instances — la même brique que Google utilise pour App Engine et Cloud Functions dans sa propre flotte mutualisée. La frontière tient même en cas d’évasion du sandbox de la couche noyau.

Base de données applicative

Cloud SQL sur GCP

Postgres managé sur Cloud SQL, chiffré au repos. La Row-Level Security (sécurité au niveau des lignes) est appliquée dans la couche base de données ; détails dans la section Isolation.

Stockage objet

Google Cloud Storage

Chaque clé d’objet porte un préfixe propre au client (org/{org_id}/workspace/{workspace_id}/). Chiffrement AES-256 côté serveur par défaut.

Secrets

GCP Secret Manager

Les identifiants sont récupérés au moment du déploiement. Les clés d’API des intégrations (connecteurs de données, API d’autres fournisseurs) ne sont référencées que par pointeur et n’apparaissent jamais dans la base de données applicative ni dans les journaux.

Identité

Authentification interne + connexion Google

Jetons de session validés à chaque requête. Mots de passe stockés uniquement sous forme hachée (scrypt) ; connexion Google via OAuth 2.0 pour les comptes qui la préfèrent. Aucun fournisseur d’identité tiers ne se trouve sur le chemin des données.

Modèles d’IA

Anthropic Claude · OpenAI · Google Gemini

Claude fait tourner l’agent ; OpenAI lit les PDF que vous ajoutez, avec Google Gemini comme lecteur de secours. Aucun d’eux n’utilise vos données pour l’entraînement. La durée pendant laquelle chacun conserve prompts et résultats est régie par ses propres conditions.

§ 2 · Isolation

Trois couches d’isolation, appliquées de cinq façons.

Le cloisonnement entre clients se joue dans l’application, dans la base de données et dans le socle physique — trois couches indépendantes, mises en œuvre par les cinq mécanismes concrets ci-dessous. Chacun, à lui seul, parerait à l’absence d’un filtre de périmètre ; ils coexistent parce qu’en finance, une fuite d’un client à l’autre n’est pas un ticket de bug, c’est un rapport d’incident.

01
Constructeur de requêtes cloisonnées · couche applicative. Chaque requête passe par un périmètre typé — organisation ou espace de travail. Tout accès brut à la base de données en dehors du constructeur fait échouer un test de contrat, et l’écart est détecté en intégration continue, avant la mise en production.
02
Row-Level Security de Postgres · couche base de données. Chaque table qui contient les données de plusieurs clients porte une politique RLS. FORCE ROW LEVEL SECURITY étend l’application de ces politiques au propriétaire de la table — requis sur un Postgres managé. Sur la connexion qui applique la RLS (directe), une requête sans son filtre de périmètre ne renvoie aucune ligne ; sur la connexion mutualisée (pool), c’est le constructeur de requêtes cloisonnées (couche 01) qui fait office de garantie. Les deux dispositifs relèvent de la défense en profondeur — on ne compte sur aucun des deux isolément.
03
SET LOCAL app.current_org_id · couche connexion. Les requêtes du pool direct définissent le contexte d’organisation propre à la connexion ; Postgres applique les prédicats RLS par rapport à ce contexte. Testé de bout en bout sur une vraie base de données, avec des jeux de données synthétiques à deux organisations (suite cross-tenant-isolation).
04
Préfixe d’objet par client · GCS. Chaque clé d’objet se trouve sous org/{org_id}/workspace/{workspace_id}/ : la frontière entre clients est visible dans le chemin lui-même. Un préfixe absent ou erroné est traité comme un incident P0, pas comme un détail de revue de code.
05
Exécution confinée au niveau du noyau · sandbox. Le code généré par le modèle d’IA s’exécute sur un exécuteur dédié (une microVM Cloud Run Gen2), distinct du serveur d’API. Chaque exécution est confinée dans son propre environnement cloisonné au niveau du noyau, sans privilèges, et la frontière matérielle de l’hyperviseur (VMM) de la microVM sépare l’exécuteur du reste de la flotte. Le code utilisateur ne peut atteindre ni le serveur d’API, ni la base de données, ni l’exécution d’un autre client.

§ 3 · Flux de données

Les tiers présents dans le flux de données.

Chaque fournisseur externe qui intervient dans le produit est nommé ci-dessous — ce qu’il voit, et le contrat qui l’encadre. Explicitement, plutôt que de se contenter d’évoquer des « sous-traitants de confiance ».

Anthropic Claude API

L’agent qui fait le travail : prompts, appels d’outils et résultats pendant une requête.

DPA signé ; données jamais utilisées pour l’entraînement. La durée de conservation des prompts et des résultats par Anthropic est régie par les conditions d’Anthropic.

OpenAI API

Les pages, rendues en images, des PDF que vous ajoutez – importés ou récupérés depuis un compte Box ou Dropbox connecté – au moment de l’extraction. OpenAI est notre lecteur de PDF principal.

DPA signé ; données jamais utilisées pour l’entraînement. La durée pendant laquelle OpenAI conserve ce qu’il traite est régie par les conditions d’OpenAI.

Google Gemini API

Les pages d’un PDF, rendues en images, uniquement lorsque le lecteur principal échoue sur ce document.

Conditions de l’API Gemini payante de Google ; données jamais utilisées pour l’entraînement. La durée pendant laquelle Google conserve ce qu’il traite est régie par les conditions de Google.

LlamaParse

Les fichiers PowerPoint et les images que vous ajoutez, et un PDF uniquement lorsque les deux lecteurs ci-dessus échouent — et seulement au moment de l’extraction.

DPA signé et engagement de ne pas utiliser les données pour l’entraînement. La durée de conservation des documents par LlamaParse est régie par ses conditions.

Box · Dropbox (uniquement si vous en connectez un)

Les requêtes de Kennan pour lister, rechercher et télécharger les fichiers de votre compte, termes de recherche compris, effectuées avec l’accès en lecture seule que vous avez accordé. Kennan ne leur transmet aucun fichier.

C’est votre propre contrat avec Box ou Dropbox qui régit les fichiers. Le jeton d’accès est conservé dans Google Secret Manager, jamais dans la base de données applicative ni dans les journaux, et ne permet ni de modifier, ni de déplacer, ni de supprimer, ni de partager quoi que ce soit. Déconnexion depuis Settings › Data Sources.

Serper (recherche web)

Les requêtes de recherche que l’agent émet quand il se documente — jamais vos documents, vos prompts ni vos résultats.

Conditions standard de l’API. Les requêtes transitent sous la clé de notre plateforme, sans identité client associée ; notez toutefois qu’une requête peut nommer le sujet de votre recherche : ce que l’on demande à l’agent de rechercher reste donc sous votre contrôle.

Stripe

L’identité de facturation — nom, e-mail, état de l’abonnement. Les données de carte sont saisies sur la page de paiement de Stripe elle-même et ne passent jamais par nos serveurs.

Prestataire de services PCI DSS de niveau 1, DPA standard. Voit l’état de facturation, pas les données métier des clients.

Resend

Votre adresse e-mail et le contenu des messages transactionnels — liens de vérification, reçus.

DPA standard. E-mails transactionnels uniquement ; le contenu des documents et les données des espaces de travail n’y transitent jamais.

Google Cloud Platform

Tout ce qui repose sur le socle — calcul, stockage, base de données, secrets.

DPA de Google Cloud. ISO 27001 / 27017 / 27018, SOC 1 / 2 / 3, FedRAMP High, HIPAA BAA, PCI DSS, C5, IRAP. Chiffrement au repos par défaut ; clés gérées par le client (CMEK) disponibles pour les clients Enterprise.

Vercel

Le HTML du frontend, les ressources statiques, les métadonnées de routage.

DPA standard. Les données métier sont récupérées directement par le navigateur auprès du serveur d’API (lui aussi sur GCP) ; les serveurs edge du CDN de Vercel ne mettent jamais en cache les données des clients.

§ 4 · Conformité

Posture de conformité et engagements continus.

Le programme de conformité de GCP couvre l’infrastructure cloud. Notre propre audit et les engagements contractuels que nous prenons en complément figurent dans les cases ci-dessous. Tout ce qui n’est pas traité ici relève de ce que nous passerions en revue avec vous dans le cadre d’un DPA.

Conformité du socle

Héritée de GCP

ISO 27001 / 27017 / 27018. SOC 1 / 2 / 3. FedRAMP High. HIPAA BAA. PCI DSS. C5. IRAP. Chiffrement au repos par défaut, avec des clés de chiffrement gérées par le client (CMEK) disponibles pour les clients Enterprise.

Contrôles applicatifs

SOC 2 Type II · démarche en cours

Nous travaillons à l’obtention d’un rapport SOC 2 Type II. Dans l’intervalle, nous communiquons un dossier de revue provisoire dans le cadre d’un DPA : éléments probants de l’isolation sur trois couches, posture de gestion des secrets, attestations sur les flux de données des fournisseurs et processus de signalement des vulnérabilités.

Engagements de traitement des données

DPA

En vigueur aujourd’hui : un DPA sur demande. La durée pendant laquelle chaque fournisseur d’IA conserve ce qu’il traite est régie par les conditions de ce fournisseur, citées dans la section Flux de données ci-dessus. Les identifiants d’intégration ne résident que dans Secret Manager ; la base de données applicative n’en stocke qu’un pointeur opaque.

Déploiement dans le VPC du client

Ports interchangeables · feuille de route

Chaque couche d’infrastructure (calcul, Postgres, stockage objet, secrets, identifiants d’intégration) dispose d’une interface de port. Un déploiement dans l’environnement GCP, AWS ou Azure propre au client relève d’un changement de configuration, pas d’une copie distincte du code. L’équipe conformité du client examine alors sa propre infrastructure, pas la nôtre.

§ 5 · Contact

Joindre l’équipe sécurité.

Une seule boîte de réception traite les dossiers de revue, la signature des DPA, les questionnaires de sécurité et les signalements de vulnérabilités. Elle est suivie par un membre de l’équipe, et vous recevez généralement une réponse sous 24 heures.

Sécurité · DPA · signalements

security@kennan.ai

Pour les documents de revue SOC 2, les demandes de DPA et les signalements de vulnérabilités. Merci de décrire le processus concerné et l’établissement depuis lequel vous nous écrivez.

Pour les ventes, la presse ou les recrutements, consultez la liste complète des contacts.

Si vous avez besoin du dossier de revue adossé au DPA, écrivez-nous : nous vous le transmettrons.