Aller au contenu

Confidentialite des donnees et securite

La confidentialite est une valeur fondamentale de DevLingo. Nous detaillons comment les donnees circulent, ou elles sont stockees et qui peut y acceder.

Scenario 1 : Recherche ponctuelle (sans synchronisation cloud)

Section intitulée « Scenario 1 : Recherche ponctuelle (sans synchronisation cloud) »
Etape 1 : Vous selectionnez "idempotent" dans Slack
|
Etape 2 : Vous appuyez sur ⌘⇧D
|
Etape 3 : L'application Mac verifie la base locale et le cache
|
Etape 4 : Si aucun resultat, envoi de la requete a Cloudflare Workers (chiffrement HTTPS)
La requete contient :
- Texte selectionne : "idempotent"
- Contexte (texte avant et apres)
- Identifiant de l'application (Slack)
- Mode : Word
|
Etape 5 : Workers appelle l'API Claude
|
Etape 6 : Claude renvoie un resultat JSON structure
|
Etape 7 : L'application Mac recoit le resultat
|
Etape 8 : Sauf si l'utilisateur clique sur "Enregistrer", le resultat n'est pas stocke
(les donnees disparaissent a la fermeture du panneau flottant)

Scenario 2 : Enregistrement dans le carnet de vocabulaire

Section intitulée « Scenario 2 : Enregistrement dans le carnet de vocabulaire »
Etapes 1-7 : Identiques a ci-dessus
|
Etape 8 : L'utilisateur clique sur "Save to Word Book"
|
Etape 9 : Les donnees sont stockees dans le SwiftData local
(entierement sur l'appareil, pas dans le cloud)
|
Etape 10 : Synchronisation cloud desactivee -> Termine (local uniquement)
Synchronisation cloud activee -> Etape 11
|
Etape 11 : Synchronisation de l'appareil vers Cloudflare D1
(base de donnees privee de l'utilisateur, avec authentification)

Texte non utilise pour l’entrainement de modeles

Section intitulée « Texte non utilise pour l’entrainement de modeles »

Important : Tout texte envoye par DevLingo via l’API Claude n’est pas utilise pour entrainer Claude ou tout autre modele. Nous suivons la politique par defaut d’Anthropic.

V Votre texte est a usage unique
V Claude le traite puis le supprime immediatement (pas de stockage)
V Non utilise pour quelque forme de data mining que ce soit

:::note Methode de verification Toutes les requetes a l’API Claude d’Anthropic sont marquees “user=”, indiquant “ce sont des donnees d’utilisateur final, ne pas utiliser pour l’entrainement”. :::

Stockage local avec synchronisation cloud desactivee par defaut

Section intitulée « Stockage local avec synchronisation cloud desactivee par defaut »

Le carnet de vocabulaire (Word Book) est enregistre par defaut uniquement sur votre Mac, via SwiftData :

~/Library/Containers/com.devglish.com/Data/
+-- default.store/
+-- word_entries.db (SQLite local)

Cette base de donnees est privee a votre appareil ; seule l’application DevLingo peut y acceder.

Si vous souhaitez synchroniser votre carnet sur plusieurs Mac, vous pouvez explicitement activer la synchronisation cloud :

Settings -> iCloud Sync -> Toggle ON

Une fois activee, le carnet est chiffre puis envoye vers Cloudflare D1 :

Chiffrement : chiffrement cote client (Curve25519) -> stockage serveur
Authentification : jeton JWT de l'utilisateur (jeton securise)
Controle d'acces : chaque utilisateur n'a acces qu'a ses propres donnees
Isolation : isolation au niveau des lignes de la base de donnees, empechant l'acces inter-utilisateurs

:::caution Transfert de donnees Apres l’activation de la synchronisation cloud, si vous annulez votre abonnement ou supprimez votre compte, les donnees cloud seront automatiquement supprimees apres 30 jours. Le SwiftData local n’est pas affecte et reste sur votre appareil. :::

DevLingo suit strictement le principe de “collecte minimale” :

X Contenu du code (meme si vous utilisez DevLingo dans Xcode)
X Historique complet de navigation ou d'utilisation des applications
X Journaux de chat ou contenu d'e-mails
X Votre historique Git
X Autres fichiers prives sur votre appareil
V Le texte selectionne que vous recherchez
V 50 caracteres de contexte avant et apres (uniquement pour la comprehension IA)
V Le Bundle Identifier de l'application actuelle (pour aider l'IA a adapter son style)
V Votre parametre de langue maternelle (pour les conseils d'interference L1)
V Contenu du carnet de vocabulaire (uniquement si la synchronisation cloud est explicitement activee)

Le backend de DevLingo (Cloudflare Workers) detient la cle API Claude. Votre application Mac n’a pas besoin d’exposer directement la cle ; toutes les requetes API transitent par Workers.

Application Mac Workers (edge)
| (HTTPS) |
|-- Bearer: user_jwt ----------> |
| |
| (validite 1 heure) | (Cle API Claude)
| |
|<- Reponse structuree <------- API Claude

Avantages :

  • La cle n’est pas stockee localement (pas de fuite possible)
  • Tous les appels API sont traites sur le reseau edge securise de Cloudflare
  • Meme si votre Mac est compromis, la cle reste en securite

Lors de la connexion, l’utilisateur recoit un jeton JWT a courte duree (validite 1 heure) :

Algorithme : HS256 (HMAC SHA-256)
Cle de signature : Cloudflare Secret (non stockee localement)
Emplacement de stockage : macOS Keychain (chiffrement systeme)
Rafraichissement : rafraichissement automatique a l'approche de l'expiration

Niveau de securite du Keychain :

Lie a la cle de deverrouillage iCloud du Mac
Chaque acces necessite une confirmation de l'utilisateur
Meme en cas de vol du disque dur, les donnees restent illisibles

Toutes les communications entre le Mac et Cloudflare Workers sont chiffrees en HTTPS :

TLS 1.3 (dernier protocole)
Certificat : LetsEncrypt (renouvellement automatique)
Confidentialite persistante parfaite (Perfect Forward Secrecy)

Le systeme de recherche par niveaux de DevLingo vous permet d’utiliser l’application hors ligne :

En mode avion, selectionnez "idempotent"
|
Recherche dans la base de termes techniques locale (85+ mots) -> Succes !
|
Resultat affiche immediatement, sans reseau necessaire

Seules les situations suivantes necessitent une connexion reseau :

V Recherche de nouveaux mots non presents dans la base locale
V Synchronisation du carnet de vocabulaire vers le cloud
V Obtention du dernier cache audio TTS

Les 95 % restants des recherches peuvent etre effectuees entierement hors ligne.

Si vous decidez de supprimer votre compte DevLingo :

Etape 1 : Reglages -> Compte -> Delete Account
|
Etape 2 : Le systeme vous demande de confirmer a nouveau
|
Etape 3 : Cloudflare supprime :
- Compte utilisateur
- Carnet de vocabulaire cloud
- Historique de connexion
- Journaux d'utilisation API
(suppression complete apres 30 jours)
|
Etape 4 : Les donnees locales ne sont pas affectees
(toujours sur votre Mac, a supprimer par vos soins)

:::caution Caractere permanent des donnees Une fois le compte supprime, les donnees cloud sont irrecuperables. Cependant, vous pouvez exporter votre carnet de vocabulaire local au format CSV pour une conservation permanente. :::

DevLingo respecte les reglementations suivantes :

RegionReglementationStatut
Union europeenneRGPD (Reglement General sur la Protection des Donnees)Conforme
Etats-UnisCCPA / CPRAConforme
ChineLocalisation des donneesConforme (stockage local uniquement ; synchronisation cloud via Cloudflare en option)

:::note Delegue a la protection des donnees Pour toute question relative a la confidentialite, contactez [email protected]. Nous repondons sous 24 heures. :::

L’equipe d’ingenierie de DevLingo effectue regulierement :

- Audit de securite du code (OWASP Top 10)
- Analyse des dependances (npm audit, Xcode security)
- Tests de penetration (tiers)
- Audit d'acces a la base de donnees (qui a accede a quoi)

Les rapports d’audit sont publies de maniere transparente chaque trimestre.


Resume : La conception de la confidentialite de DevLingo suit le principe du “Zero Trust” — en supposant que le reseau est surveille et que l’appareil est compromis, mais en garantissant, grace au chiffrement, a l’authentification et a la collecte minimale, que vos donnees restent toujours sous votre controle.