Pourquoi Notes Tech
Une app de notes qui ne partage rien avec personne. Et pourtant pleine d'IA.
Zéro Internet
Pas de permission INTERNET dans le manifest. L'app est techniquement incapable d'envoyer la moindre donnée. Vérifiable.
Base chiffrée
SQLCipher AES-256 avec clé scellée par l'Android Keystore (hardware-backed). Désinstaller = tout perdre, irrémédiable.
Coffres par dossier
Chaque dossier peut être un coffre fort : passphrase Argon2id (m=64MB) ou code PIN scellé Keystore + auto-destruction après 5 tentatives ratées.
Mode panique
Geste discret → KEK détruite, base écrasée, modèles IA effacés, clés Keystore wipées. Tout part en quelques secondes, même si le téléphone est saisi déverrouillé.
Q&A on-device
« Demander à mes notes » via Gemma 3 1B int4 (~530 Mo). RAG sur top-K sémantique, prompt durci anti-injection. Streaming.
Dictée vocale
Whisper on-device (~57 Mo) — transcription locale parfaite, audio jamais persisté, vérification SHA-256 du modèle.
Recherche sémantique
MiniLM-L6-v2 quantifié int8 trouve par le sens, pas seulement par les mots — y compris cross-langue FR/EN.
Backlinks [[Titre]]
Liens sortants + panneau « Mentions » (rétroliens) + auto-complétion. Liens fantômes auto-résolus à la création.
FTS5 instantané
Recherche plein-texte SQLite avec tokenizer Unicode, diacritiques normalisés. Réponse en millisecondes.
Captures bloquées
FLAG_SECURE optionnel — masque l'aperçu dans le sélecteur d'apps Android, bloque les screenshots.
Markdown brut
Aucun format propriétaire. Vos notes sont des fichiers texte que vous pourrez toujours relire, partout, dans 20 ans.
Coordination RAM
MlMemoryGuard sériel : Gemma et Whisper ne sont jamais chargés simultanément (anti-OOM sur 4 Go).
Apache 2.0
Code source intégralement public sur GitHub. Vérifiez vous-même les promesses de confidentialité.
Gratuit, bien entendu ;)
Pas d'abonnement, pas de freemium, pas de quota, pas de version premium. Ne le sera jamais.
Comment ça marche
Trois moteurs locaux qui collaborent : recherche sémantique, IA conversationnelle, transcription vocale.
1. Vous écrivez
Notes Markdown classiques, auto-save debounced, tri configurable, épingler / favoris / corbeille. Vos notes vont directement dans une base SQLite chiffrée (SQLCipher AES-256) dont la clé maître est scellée par l'Android Keystore — un attaquant qui dump le `/data/data` ne récupère rien d'exploitable sans le téléphone déverrouillé.
2. L'app indexe en arrière-plan
Chaque note est encodée en vecteur sémantique par MiniLM-L6-v2 (modèle ONNX quantifié int8, ~22 Mo bundlé). Cet index permet la recherche par similarité — taper « burnout » trouve une note qui parle d'épuisement professionnel. La recherche FTS5 plein-texte tourne en parallèle pour les correspondances exactes.
3. Vous demandez à vos notes
« Qu'est-ce que j'avais noté sur la séance Reiki du 12 mars ? ». Le système RAG sélectionne les 4 notes les plus pertinentes par similarité sémantique, les injecte dans un prompt durci, et Gemma 3 1B int4 (~530 Mo, importé par vous depuis Google Kaggle) génère la réponse en streaming token-par-token. Aucun envoi réseau, le modèle vit sur votre téléphone.
4. Vous dictez
Bouton micro dans l'éditeur. Whisper (port C++ par Georgi Gerganov, modèle base q5_1 ~57 Mo, importé depuis HuggingFace) transcrit ce que vous dites, le texte s'insère au curseur. Le WAV de capture est dans la zone tmp privée de l'app et est supprimé immédiatement après transcription, dans tous les chemins de sortie (succès, annulation, erreur, kill système).
5. Vous gardez la main
Mode panique (à venir v0.7) qui détruit la clé Keystore et rend la base illisible à jamais. Réglage « Masquer dans les apps récentes » qui empêche les captures et masque l'aperçu. Tout est sous Apache 2.0 — vous pouvez compiler vous-même depuis le source.
Engagement confidentialité
Pas de promesses creuses. Que des engagements vérifiables dans le code.
| Engagement | Notes Tech | Vérifiable |
|---|---|---|
| Permission Internet | Retirée du manifest (tools:node="remove") | aapt dump permissions |
| Tracker / SDK pub | Aucun | Inspection du code source GitHub |
| Crash reporter tiers | Aucun | Pas de dépendance Crashlytics, Sentry, etc. |
| Compte / inscription | Aucun | Aucun écran de login |
| Stockage des notes | Local + chiffré | SQLCipher dans /data/data/com.filestech.notes_tech |
| Modèles IA | Importés par vous, SHA-256 vérifié | Source officielle Kaggle / HuggingFace |
| Audio enregistré | Effacé après transcription | Couvert par try/finally dans le code |
| Code source | Apache 2.0 intégral | github.com/gitubpatrice/notes_tech |
Pour qui c'est fait
- Praticiens bien-être, thérapeutes, énergéticiens qui prennent des notes de séances clients — le secret professionnel n'est pas une option
- Journalistes, avocats, médecins manipulant des sources ou des dossiers sensibles
- Toute personne qui refuse que ses notes intimes finissent dans un cloud ou un modèle d'entraînement
- Voyageurs et nomades qui veulent une app qui marche en mode avion, à l'étranger, sans data
- Curieux et bricoleurs qui veulent comprendre comment la recherche sémantique et le RAG marchent — et lire le code
Honnêtement, les limites
- L'APK pèse ~290 Mo — tout est embarqué (sauf les modèles que vous téléchargez vous-même). Comparable aux apps IA mainstream, mais pas léger.
- Gemma 1B et Whisper Base ne sont pas GPT-4. Excellent pour la prise de notes et la dictée, plus limité pour des questions complexes.
- La dictée vocale ajoute ~57 Mo de modèle si vous l'activez. Optionnelle.
- Pas (encore) de synchronisation entre appareils — c'est volontaire (offline-first), mais c'est aussi une vraie limite si vous voulez écrire sur tablette puis relire sur téléphone.
Comment activer la dictée vocale
Notice d'emploi en cinq étapes — l'app ne télécharge rien elle-même, c'est vous qui maîtrisez.
- Réglages → Dictée vocale → Activer la dictée vocale.
- Choisissez un modèle : Whisper Base (57 Mo, recommandé) ou Whisper Tiny (32 Mo, plus rapide mais moins précis).
- Tapez « Télécharger sur ce téléphone » — le navigateur Android s'ouvre sur la page officielle huggingface.co/ggerganov/whisper.cpp. C'est votre navigateur qui télécharge, Notes Tech reste sans permission Internet.
- Une fois le fichier
.bindans votre dossier Téléchargements, revenez dans Notes Tech et tapez « Sélectionner le fichier .bin ». L'app vérifie l'empreinte cryptographique SHA-256 puis le copie dans sa zone privée. - Ouvrez n'importe quelle note, tapez l'icône 🎤 dans la barre du haut, parlez, tapez « Arrêter ». Le texte transcrit s'insère au curseur.
Vous pouvez désinstaller le modèle ou en changer à tout moment depuis Réglages → Dictée vocale. Le mode panique (à venir) effacera le modèle et l'historique en un appui.
Code source ouvert
Pour une app qui prétend ne rien envoyer, l'audit indépendant du code est essentiel — c'est la seule preuve. Notes Tech et son module de dictée vocale sont publiés sous Apache 2.0 ; vous pouvez lire, vérifier et compiler vous-même.