Mobile Android & iOS
L'app CLOISON met le moteur N0 dans votre poche : pseudonymisation sur le poste, session dans un coffre chiffré en mémoire, aucune donnée personnelle en clair qui ne sorte de l'app. Ce guide couvre le périmètre, l'installation, puis les limites — et le cadre de référence qui reste le vôtre.
01App native
Un seul moteur, un seul périmètre. Le cœur de CLOISON est un binaire WASM identique pour les deux plateformes ; Android et iOS n'en sont que des coquilles natives. Toute la logique — détecter, tokeniser, envoyer, restaurer — vit dans le même artefact, et c'est lui qui versionne. Le code natif ne fait que charger ce moteur et lui passer la clé de session.
Le pont natif diffère selon la plateforme :
| Plateforme | Hôte | Pont natif |
|---|---|---|
| Android | WebView + runtime WASM | JNI / pont objet |
| iOS | WKWebView + runtime WASM | WKScriptMessageHandler |
Le pont iOS est asynchrone : les messages montent et descendent via WKScriptMessageHandler. Sur Android, le pont est synchrone côté runtime. Dans les deux cas, l'orchestration de chat est la même — ce qui change, c'est la couche qui frappe à la porte du moteur.
Le moteur est embarqué, pas distant : pas de compilation côté serveur, pas de clé qui circule pour tokeniser. Tout se passe sur le poste.
02Le moteur chez vous
L'app exécute le niveau N0 : traitement local, session éphémère. La clé locataire est générée côté client, à chaque lancement, et vit dans un coffre chiffré en mémoire. Rien n'est écrit sur disque : fermer l'app détruit la clé, le registre d'émission et le MAC de la requête. La fenêtre de restauration suit celle de la session — elle meurt avec elle.
L'authentification est locale : pas de compte, pas de mot de passe distant, pas d'identifiant cloud. Votre clé LLM est conservée dans les préférences de l'app et ne circule jamais ailleurs que vers le fournisseur que vous choisissez. C'est le même invariant que N0 sur desktop, transposé dans une poche.
- Coffre chiffré — clé + registre + MAC en mémoire vive, rien de persistant.
- Auth locale — aucune téléphonie, aucun compte ; la clé amont reste chez vous.
- Session éphémère — une clé par lancement, aucune réutilisation entre ouvertures.
03NER local
Avant d'être envoyé, le message traverse un NER embarqué qui tourne sur le poste — en WASM, sans réseau. Il classe les quasi-identifiants (nom, date, téléphone, e-mail…) et décide ce qui doit être tokenisé. Il ne résout jamais, ne transmet jamais : la classification est un verdict local qui n'a pas à sortir de l'app.
En console, le balayage d'une liste d'attente se déroule ainsi :
$ cloison scan "Rendez-vous avec Marie Dupont le 12/03/2024 au 06 12 34 56 78." {PERSON} → ⟦pii:name⟧ {DATE} → ⟦pii:date⟧ {TEL} → ⟦pii:tel⟧ → 3 champs pseudonymisés · 0 en clair
Un quasi-identifiant est signalé, jamais résolu. C'est la différence entre dire « ici il y a une personne » et « voici qui c'est ». L'app ne fait que la première chose.
04Hors-ligne & audit
Aucune donnée personnelle en clair ne quitte l'app. Il y a exactement deux chemins de sortie, tous deux bornés — et c'est ce qui rend la promesse contrôlable, plutôt qu'à croire sur parole.
| Destination | Ce qui part | Lisible ? |
|---|---|---|
| Votre fournisseur LLM | des jetons ⟦…⟧ de la requête | non — seule votre clé restaure |
| Plan de contrôle (audit) | des compteurs k-anonymes signés | non — jamais de texte |
Les compteurs sont agrégés, k-anonymes et signés Ed25519. Le plan de contrôle ne peut ni lire vos messages ni reconstruire une donnée : il voit qu'il y a eu 128 opérations de pseudonymisation, pas ce qu'elles contenaient. Vous pouvez vérifier ce qui a été vu — et ce qui ne l'a jamais été — dans le journal de transparence.
05Installation
Deux artefacts à produire : le moteur WASM, puis la coquille native. Le moteur se construit une fois par version ; chaque plateforme le référence depuis son propre dossier d'assets.
# 1. Artefact WASM (racine du dépôt CLOISON) cd crates/cloison-wasm wasm-pack build --target web \ --out-dir ../../mobile/android/app/src/main/assets/cloison/pkg # 2. APK Android cd ../../mobile/android gradle assembleDebug # → app/build/outputs/apk/debug/app-debug.apk
Côté iOS, l'artefact WASM est le même ; seule la cible de sortie change. Le build Simulator est utilisable immédiatement, l'archive signée nécessite un compte Apple.
# Artefact WASM → mobile/ios/Cloison/Web/pkg
cd mobile/ios
xcodebuild -project Cloison.xcodeproj -scheme Cloison \
-destination 'generic/platform=iOS Simulator' build
Vérifier un artefact
Chaque release est publiée avec son checksum. Vous vérifiez ce que vous allez exécuter avant de l'installer — c'est le même réflexe que pour le binaire N0 desktop.
$ shasum -a 256 cloison-mobile-0.11.apk 9f3c…e2a1 cloison-mobile-0.11.apk # = valeur publiée
Une fois signée, l'app est distribuée via TestFlight puis l'App Store, ou sideloadée sous Android. Le checksum publié confirme l'origine, quel que soit le canal.
06Limites honnêtes
La pseudonymisation n'est pas l'anonymisation. Les jetons sont déterministes et réversibles pour votre clé : une personne peut rester ré-identifiable par corrélation, surtout à faible volume. CLOISON minimise ce qui sort ; il ne l'efface pas.
L'autre limite est d'ordre réglementaire, et nous préférons la dire plutôt que la laisser sous-entendue. CLOISON documente et réduit ; il ne se substitue pas aux obligations qui vous incombent en tant que responsable de traitement. Le cadre n'est pas un ajout marketing, il est structurant.
CLOISON est conçu pour s'inscrire dans le cadre de protection des données qui vous concerne. Pour nos déploiements de référence, ce cadre n'est pas le RGPD : nous partons de la loi n°2008-12 sénégalaise relative à la protection des données à caractère personnel, de l'Acte additionnel CEDEAO A/SA.1/01/10 également applicable dans l'espace UEMOA, et de la Convention de Malabo (2014) sur la cybersécurité et la protection des données.
La CDP soumet les traitements à un régime à deux étages — déclaration ou autorisation préalable selon la sensibilité — et distingue responsable de traitement et sous-traitant. Vous êtes le responsable ; CLOISON est l'outil. Le RGPD reste une référence complémentaire (fast-follow Europe), pas le cadre principal. Le rapport signé documente ce qui a été vu ; il ne remplace ni une déclaration, ni une autorisation, ni une analyse d'impact.
En pratique : choisissez votre régime, déposez votre déclaration ou sollicitez l'autorisation préalable, et traitez CLOISON comme un moyen de minimisation — pas comme une exemption.