Cette page décrit précisément les données que l'extension Chrome Marvin V2 collecte, à qui elle les transmet et pendant combien de temps elle les conserve. Elle est maintenue à jour à chaque changement matériel du périmètre de traitement.
Responsable de traitement
Marvin SAS — marvin-recruiter (France). L'extension est un outil professionnel destiné à un utilisateur authentifié recruteur disposant d'un compte sur app.marvins.ai. Aucun traitement n'est effectué pour un utilisateur non authentifié.
Données collectées
L'extension collecte les catégories de données suivantes, uniquement lorsque l'utilisateur a explicitement démarré une action (ouverture du side panel, import d'un profil, déclenchement d'un message) :
| Catégorie | Contenu | Source |
| ---------------------- | ----------------------------------------------------------------------- | ---------------------------- |
| Identifiants du compte | userId, tenantId, email de l'utilisateur | Cookie SSO app.marvins.ai |
| Profils LinkedIn | Nom, titre, entreprise, URL du profil consulté, formations, expériences | DOM de LinkedIn, via Unipile |
| Données techniques | Version de l'extension, locale navigateur, identifiant de session | Navigateur |
| Télémétrie | Événements d'usage (sidepanel_opened, profile_imported, erreurs) | Runtime extension |
L'extension ne collecte pas : historique de navigation hors LinkedIn, messages privés LinkedIn (hors threads ouverts via un outreach Marvin), données bancaires, géolocalisation.
Destinataires et flux sortants
Les données quittent l'extension uniquement vers les destinataires ci-dessous. Tous les flux sont chiffrés en TLS 1.2+.
| Destinataire | Données | Hébergement |
| ----------------------------- | -------------------------------------- | ------------------ |
| API Marvin (api.marvins.ai) | Identifiants, profils importés, events | Google Cloud (EU) |
| Unipile | Auth LinkedIn, opérations sur profils | UE (sous-traitant) |
| Sentry | Erreurs runtime, stack traces | UE (sentry.io EU) |
| Grafana Cloud | Traces et métriques techniques | UE |
| LaunchDarkly | Évaluation de feature flags (userId) | US (DPF-certifié) |
Aucune donnée n'est vendue. Aucun partage publicitaire. Aucune donnée n'est transmise à LinkedIn en dehors du trafic utilisateur normal du navigateur.
Base légale
- Exécution d'un contrat (RGPD art. 6.1.b) pour l'utilisateur recruteur : fourniture du service Marvin.
- Intérêt légitime (RGPD art. 6.1.f) pour les profils LinkedIn traités : permettre au recruteur d'organiser sa prospection professionnelle conformément à la finalité publique de LinkedIn. Le candidat est informé dès la première interaction sortante.
Durée de conservation
| Donnée | Durée |
| ------------------------------- | ----------------------------------------------------- |
| JWT en local (chrome.storage) | Jusqu'à déconnexion ou 7 jours (rotation automatique) |
| Profils importés | Durée de vie du tenant (suppression sur demande) |
| Logs Sentry | 90 jours |
| Traces Grafana | 30 jours |
| Événements télémétrie | 13 mois maximum (analytics) |
Droits des personnes
Toute personne concernée peut exercer ses droits d'accès, rectification, effacement, limitation, portabilité et opposition :
- Recruteur utilisateur — via l'interface
app.marvins.aiou en écrivant àprivacy@marvins.ai. - Candidat / profil importé — en écrivant à
privacy@marvins.ai. Une procédure de vérification d'identité est mise en place avant traitement.
Les réclamations peuvent être adressées à la CNIL (www.cnil.fr).
Stockage local
L'extension utilise chrome.storage.local (API navigateur, isolée par extension) pour persister :
- Le JWT d'authentification (chiffré au repos par Chrome).
- Les préférences utilisateur (locale, dernier panel ouvert).
Aucun cookie tiers n'est posé. chrome.storage ne quitte pas la machine de l'utilisateur.
Cookies LinkedIn (li_at / li_a)
Au moment où l'utilisateur clique sur Connecter dans le side panel pour brancher son compte LinkedIn, l'extension lit les cookies li_at (session LinkedIn) et, si présent, li_a (token Premium) via l'API chrome.cookies — et uniquement à cet instant précis. Ils ne sont jamais lus en arrière-plan, jamais stockés dans chrome.storage, jamais persistés côté extension.
Ces valeurs transitent chiffrées en TLS vers l'API Marvin, qui les transmet immédiatement à Unipile pour provisionner la session côté serveur. L'API Marvin ne stocke jamais li_at / li_a en base : seul l'identifiant Unipile (account_id) est persisté après l'échange. L'utilisateur peut révoquer la connexion à tout moment depuis Paramètres > Intégrations.
Permissions Chrome demandées
| Permission | Usage |
| ------------------- | ---------------------------------------------------------------------------- |
| storage | Persistance du JWT et des préférences |
| sidePanel | Affichage de l'interface Marvin dans le side panel du navigateur |
| cookies | Lecture du cookie SSO app.marvins.ai (JWT) et, au click-time, li_at/li_a |
| activeTab | Lecture contextuelle de la page LinkedIn active |
| Host linkedin.com | Injection du content script sur les pages LinkedIn |
| Host *.marvins.ai | Appels API authentifiés |
Aucune permission large de type <all_urls> n'est demandée.
Modifications
Toute modification matérielle de cette politique fait l'objet d'une nouvelle version de l'extension et d'une notification dans le side panel lors du premier démarrage post-mise à jour.
Contact : privacy@marvins.ai.