AccueilTransparence › Architecture

Architecture & sécurité

Vous nous confiez des données patients. Voici exactement ce qui se passe avec elles, en termes compréhensibles.

Réponse rapide aux 3 questions importantes

Où vivent mes données ?

Sur votre PC, dans un fichier SQLite. Une copie chiffrée sur notre VPS à Annaba (si vous activez la sauvegarde cloud).

Qui peut les lire ?

Vous. TKAWEN ne peut PAS lire vos sauvegardes même en y ayant accès — la cryptographie l'empêche mathématiquement.

Que se passe-t-il si TKAWEN disparaît ?

Votre application continue de fonctionner. Le code source est sous escrow notarié — vous pourrez accéder à vos données pour toujours.

Schéma simple

┌─────────────────────────────┐
│   VOTRE PC PHARMACIE        │   Windows 10/11
│   ─────────────────────     │
│   PharmaPro.exe             │
│   └─ db.sqlite              │   ← TOUTES vos ventes, stocks, clients
│                             │     Reste sur votre disque dur.
└──────┬──────────────────────┘
       │ HTTPS uniquement quand requis
       │ (activation, backup, sync UPROMEDIC, heartbeat licence)
       ▼
┌──────────────────────────────────────────────────────┐
│  api.pharmapro.tkawen.com (VPS Contabo Annaba, DZ)  │
│  ──────────────────────────────────────────────     │
│  • Stocke : licence-key + HWID + email contact      │
│  • Stocke : sauvegardes chiffrées AES-256 (illisibles)│
│  • Ne stocke PAS : ventes, patients, ordonnances    │
└──────────────────────────────────────────────────────┘

Détail technique de la sauvegarde chiffrée

Quand vous activez la sauvegarde cloud, voici ce qui se passe à chaque sauvegarde :

  1. Lecture de votre db.sqlite (~1-50 MB)
  2. Compression gzip
  3. Dérivation de clé à partir de votre passphrase via PBKDF2-SHA256, 200 000 itérations + un sel aléatoire
  4. Chiffrement AES-256-GCM (standard militaire) avec un nonce aléatoire
  5. Upload du blob chiffré vers api.pharmapro.tkawen.com
Point crucial. Notre serveur ne reçoit que des octets chiffrés + le sel + le nonce. Sans votre passphrase, ces octets sont mathématiquement impossibles à déchiffrer (équivalent à brute-forcer 2^256 combinaisons — l'âge de l'univers ne suffirait pas).

Et lors de la restauration :

  1. Téléchargement du blob chiffré
  2. Re-dérivation de la clé avec votre passphrase + le sel récupéré
  3. Déchiffrement AES-256-GCM
  4. Vérification du tag GCM (preuve d'intégrité — si quelqu'un avait modifié le blob, ça échouerait)
  5. Décompression + remplacement de votre db.sqlite local

Ce que TKAWEN voit et ce qu'on ne voit pas

DonnéeTKAWEN voit ?
Votre clé de licence + HWIDOui (nécessaire pour validation)
Votre email + nom officine + WhatsAppOui (vous nous les avez donnés)
Votre version de PharmaProOui (heartbeat)
Votre adresse IP (au moment du heartbeat)Oui (côté serveur web)
Vos ventesNon
Vos patientsNon
Vos ordonnancesNon
Vos prix d'achat / margesNon
Vos sauvegardes (en clair)Non — chiffré client-side

Souveraineté des données

L'ensemble de notre infrastructure est physiquement en Algérie :

  • VPS Contabo, datacenter Annaba
  • Domaines enregistrés via Hostinger
  • DNS gérés par nous
  • Backup secondaire local (pour notre usage interne, pas le client)

Vos données ne quittent jamais le territoire algérien. Pas de transfert vers des infrastructures américaines (AWS, Google Cloud, Azure), pas de transfert vers des datacenters européens.

Que se passe-t-il si TKAWEN cesse son activité ?

Engagement écrit du fondateur :

  1. Le code source est en escrow notarié chez un notaire algérien (à mettre en place — Q3 2026, planifié)
  2. En cas de cessation d'activité > 6 mois, le code source devient publiquement accessible (open-source)
  3. Votre application continue de fonctionner indéfiniment, même hors-ligne (la licence en cache reste valide 7 jours, et le code source open serait recompilable)
  4. Vos sauvegardes peuvent être déchiffrées par n'importe quel développeur tiers à partir des spécifications publiées (page Architecture des docs)
L'escrow notarié n'est pas encore en place au 6 mai 2026. C'est planifié pour Q3 2026 (cf. feuille de route). En attendant, le risque est réel mais limité : votre db.sqlite est lisible avec n'importe quel outil SQLite gratuit (DB Browser for SQLite, etc.).

Documentation technique complète

Pour les pharmacien·ne·s qui veulent aller plus loin :

Découvrez PharmaPro en 15 jours gratuits

Sans carte bancaire. Sans engagement. Toutes les fonctionnalités.

Télécharger PharmaPro