Notes techniques
Comment fonctionne reader.me
Aucun PDF que vous ouvrez ne quitte votre machine. Cette page explique comment c'est possible architecturalement, ce que fait chaque pièce, et comment vous pouvez vérifier la promesse vous-même en 30 secondes.
La version courte
Les navigateurs modernes embarquent un runtime presque complet : moteur JavaScript JIT, WebAssembly, canvas 2D, cryptographie, API fichiers et stockage persistant. Suffisant pour faire tout ce qu'un éditeur PDF desktop fait — sans envoyer le fichier nulle part.
reader.me, c'est environ 4 MB de JavaScript et WebAssembly qui collent quatre bibliothèques open-source en 20 outils. Le PDF que vous déposez est lu depuis le handle File local dans un Uint8Array, manipulé en mémoire, et le résultat vous est offert en téléchargement via URL.createObjectURL. À aucun moment il n'y a de requête réseau impliquant votre document.
Ce qui se passe quand vous déposez un PDF
- Le navigateur passe le fichier directement à JavaScript. L'API drag-and-drop nous donne un objet
Filepointant sur les octets déjà sur disque. - Nous lisons les octets dans un typed array.
await file.arrayBuffer()donne les octets bruts. - La bonne bibliothèque fait le travail. Quatre moteurs : pdf-lib, PDF.js, Tesseract.js, Comlink Workers (au-delà de 20 MB).
- Le résultat devient un téléchargement. Le
Uint8Arrayest emballé dans unBlob, une URL d'objet temporaire est créée, un<a>invisible avecdownloadest cliqué.
Pourquoi c'est de la confidentialité structurelle
La plupart des promesses "pas d'upload" des services cloud signifient quelque chose de plus faible : le serveur jette votre fichier après quelques heures. Le fichier a bien atteint leurs serveurs.
Chez reader.me, il n'y a pas d'"après" à jeter parce qu'il n'y a pas d'upload au départ. C'est la différence entre confidentialité par politique et confidentialité structurelle.
Et l'analytique ?
Nous chargeons Google Analytics (différé, post-LCP) et Cloudflare Web Analytics. Ni l'un ni l'autre ne voit vos PDF — uniquement des balises pageview avec le chemin URL, le locale et le user agent standard. Pas de noms de fichiers, pas de contenu.
Les robots sont explicitement autorisés (GPTBot, ClaudeBot, etc.) — il n'y a aucune donnée document à scraper.
Vérifiez vous-même en 30 secondes
- Ouvrez les DevTools (
F12sur Windows,⌥⌘Isur macOS) et passez à Network. - Effacez la liste, cochez "preserve log".
- Déposez un PDF sur l'outil Compresser et cliquez.
- Regardez le panneau Network. Aucune requête transportant votre fichier. Le téléchargement arrive sous forme d'URL
blob:.
Les compromis que nous acceptons
Tout faire dans le navigateur n'est pas gratuit. Limites honnêtes :
- Plafond de taille. 50 MB par fichier en web. Le build desktop Tauri (Phase 4) lèvera cette limite.
- Pas de signatures qualifiées. QES avec certificats FNMT/DNIe nécessite des API smart-card de l'OS.
- Données OCR volumineuses. Premier lancement OCR télécharge ~12 MB.
- PDF/A perd le texte sélectionnable. Nous rasterisons chaque page.
Liens connexes
- Modèle de sécurité → — modèle de menaces, chiffrement, politique CVE.
- Confidentialité → — la version politique, en langage clair.
- vs iLovePDF / Smallpdf → — comparaison architecturale côte à côte.
reader.me est une idée de David Carrero , développé chez Color Vivo Internet S.L.