// android app · no network · agpl
The document becomes Markdown. On your phone.
Share a .docx, a PDF or a spreadsheet with Mr. Rao: it comes back as Markdown, with names, tax codes and bank accounts already replaced. Ready to paste into ChatGPT, Claude or Gemini — it costs fewer tokens, and it does not carry the people along.
Nothing leaves the device, and not because we say so: the app does not declare the network permission.
version 0.1.7 · 2,535,566 bytes · SHA-256
0f34a5a980ca7e216f0cd06c73d2be48541e67c2c7e602262298dd65ca1a3b58
Check it with certutil -hashfile MrRao.apk SHA256 on Windows,
sha256sum MrRao.apk on Linux and Mac.
// 01 · what it is for
Two problems, one gesture.
Handing a document to a language model costs you twice. Once in tokens: office formats carry far more of them than the content needs, and if the alternative is photographing the pages the bill gets worse. The second cost does not show on the invoice: minutes of a meeting, an invoice or a staff list contain names, tax codes and bank accounts, and pasting them into a chat means handing them to a third party.
Markdown says the same things with fewer characters. Redaction takes the people out and leaves the document readable. Here the two happen together, in a single share.
Word
Headings, lists, bold and tables: the real structure, not flattened text.
Spreadsheets
Every sheet becomes a Markdown table. Empty rows and columns disappear.
The text, with structure inferred from type sizes. Without inventing what is not there.
// 02 · how to use it
Share it, or pick it.
The natural gesture is the first one: Mr. Rao is a step you pass through, and you find it inside the share sheet, where the document already is. But it also opens from the app drawer, and there you pick the document yourself.
- Open the document where you already have it. WhatsApp, email, a file manager, Drive.
- Tap Share — or "Open with" — and choose Mr. Rao.
- Tap Copy. The app opens with the work already done. Go to the chat and paste.
If you open Mr. Rao from the app drawer instead, there is "Pick a document", which opens the phone's file picker: from there nothing changes, the document you pick takes the same route as a shared one. It works with selected text in any app too. And if you would rather have a file, Save .md puts one wherever you want.
If you have never used it, «Try an example» converts a fake document that lives inside the app: you see what happens without giving it anything of yours. The three dots at the top right hold «How it works» and the language — Italian or English, for the whole app, so the report and the placeholders come out in the language of whoever receives the document.
// 03 · what comes out
The people leave, the document stays readable.
## Attending - Mario Rossi, tax RSSMRA80A01H501U - Giulia Bianchi, [email protected] Amount: euro 12,500.00 to IBAN IT60X05428111 01000000123456
## Attending - {{NAME_1}}, tax {{CODICE_FISCALE_1}} - {{NAME_2}}, {{EMAIL_1}} Amount: euro 12,500.00 to IBAN {{IBAN_1}}
The placeholders are numbered, and that is not decoration: without
numbers three different people would all become the same {{NAME}}, and
"{{NAME}} quoted {{NAME}} in front of {{NAME}}"
stops meaning anything. The same person keeps the same number throughout the document.
The amount stayed. Amounts and dates are off by default: removing them always would make an invoice or a council resolution unreadable without protecting anyone. If your case is different, two taps turn them on.
// 04 · the network
Not a promise. A permission that is not there.
Most apps that say "your data does not leave" are asking you to trust them. Here you can check for yourself, in ten seconds: Settings → Apps → Mr. Rao → Permissions.
android.permission.INTERNET — not declared
Without that permission it is the operating system that refuses every connection. Not a check in our code, which could have a defect: a rule of the system, which holds even if our code is wrong and even if a third-party library tried to phone home. The document lives in memory only and goes away when you close the app.
// 05 · limits
What it does not do.
// worth knowing first
- A PDF has no structure to read. It contains glyphs at coordinates: headings and paragraphs are inferred from type sizes. On a two-column layout it can get them wrong, and the app says so every time.
- No optical character recognition. A PDF made of scans produces an explicit warning — not invented text, and not an empty result that looks clean.
- Redaction can err in both directions. Tax codes, VAT numbers and IBANs are verified by their check character, so mistakes there are rare; personal names are recognised through word lists and rules, and there it is easier to slip.
- Look at the document before you send it. That is why the app shows it to you instead of copying it to the clipboard by itself.
| Limit | Value | What happens |
|---|---|---|
| Document size | 8 MB | refused, with a message |
| Spreadsheet rows | 5,000 | truncated, and it says so |
| PDF pages | 500 | truncated, and it says so |
| Copy and Share | ~256,000 characters | use "Save .md" |
For a sense of scale: an issue of the Italian Official Gazette, 208 pages, weighs 2.3 MB and converts in under a second.
// 06 · questions
What everybody asks.
Why is it not on the Play Store?
With a personal account the Play Store asks for twelve testers over fourteen consecutive days before it lets you publish; with an organisation account it asks for a D-U-N-S number, which presumes a registered company.
Meanwhile the APK downloads and installs without waiting for anyone. F-Droid is the natural destination: it rebuilds the app from source on its own servers and shows the permissions at the top of the listing — for an app whose promise is "it talks to nobody", that is the shop window that makes the promise checkable.
Is installing an APK by hand safe?
Android asks you to allow installation from unknown sources, and it is right to ask. The point where nearly everyone gets stuck: the permission goes to the app you are opening the file from — Files, Chrome, Telegram — not to Mr. Rao.
The code is available and the licence is AGPL: you can read what it does, or rebuild it yourself.
Is it the same engine as Mr. Rao on the desktop?
Yes, ported line by line. That was the condition: data recognised on the desktop but not on the phone would not be a minor defect — it would be the product's promise ceasing to hold depending on the device.
What about Mr. Rao Plus? What is the difference?
Plus is a browser extension on the desktop: it watches what you are about to send to an AI chat and stops you before it goes.
Mobile is an Android app that converts a document and hands it back redacted: you decide where to paste it. On a phone AI is used inside native apps, where no extension can reach.
How many tokens do I actually save?
It depends on the document, and you will not find a headline percentage here. Comparing the characters of the Markdown with the bytes of a .docx would give a "98% less" that is true and meaningless — a .docx is a compressed archive, its bytes are not characters, and that number would mostly measure how well Word compresses.
What the app actually does, and can be said without cheating: tables in Markdown instead of HTML, images reduced to a placeholder instead of embedded as base64, and the blank layout lines thrown away.
Can I use it in a company?
The licence is AGPL-3.0: internal use is free. If the AGPL does not fit how you want to integrate or redistribute it, a separate licence can be agreed — write in.
// 07 · source
The code, to whoever asks for it.
Mr. Rao Mobile is free software, released under AGPL-3.0-or-later.
The repository is not public, and the licence does not require it to be: it requires the source to reach whoever receives the program. So if you downloaded the APK from this page, you are entitled to the corresponding source and you only have to ask — write to [email protected] and it will be sent to you, at no charge beyond the cost of transmission.
This offer stands for three years from the release of this version, as the licence provides. Once the app reaches F-Droid the repository will necessarily be public, because F-Droid rebuilds every app from source on its own servers.
The third-party libraries bundled in — mammoth (BSD-2), turndown (MIT), SheetJS (Apache-2.0), pdf.js (Apache-2.0) — remain subject to their own licences, listed inside the app under Licences.