Last updated [date]
OctaShelf works entirely on your device unless you turn on sync. If you never pair a device, we hold no data about you at all — not an account, not a record, not a log line.
If you do turn on sync, the honest summary is this: we can read your documents. Your PDFs and the names you give things are stored so that we can serve them back to your other devices, and they are not encrypted in a way that locks us out. The rest of this page is the detail behind both of those sentences.
docs/going-live-brazil.md §8, which is still open. Fill in the name, the tax id
and the address before publishing.
Nothing leaves your device. The app has exactly one place in its code that can make a network request, and it is unreachable until you have paired the device to a library. There is no analytics, no crash reporting, no usage measurement and no automatic update check. Your documents, their titles, your tags and everything else live in a database and a folder on your own storage.
This is not a setting we ask you to trust us about — it is how the app is built. A never-paired device has no library on our servers, so there is nothing for us to hold.
Pairing creates a library: a space on our servers identified by a random id, which your devices authenticate to with a credential stored in your device's keychain. There is no email address, no password and no account. We never ask for your name.
No analytics. No crash reports. No usage telemetry. No advertising identifier, no device fingerprint, no contact list, no location. The app asks your device for no permissions at all at runtime. The document scanner and the QR scanner run inside Google Play services rather than inside OctaShelf, which is why the app never needs access to your camera.
Our servers do not store your IP address, and there is deliberately no record of when a device last read your library.
Yes, technically we can. Your files are encrypted in transit and encrypted at rest by our hosting provider, but they are not end-to-end encrypted: we hold the keys, so we are capable of reading them. We chose that deliberately rather than by accident, because features that need the server to understand your library — viewing a document in a browser, searching it there, and categorizing imports automatically — are impossible otherwise.
What we do with that capability: nothing, beyond storing and serving your files back to your own devices, and what is needed to keep the service running or to comply with a legal obligation. We do not read your documents for any other purpose, we do not use them to train anything, and we do not sell or share them.
If that trade-off is not one you want to make, the app is fully usable with sync turned off, and your files remain ordinary PDFs in a folder on your device.
This page itself loads no fonts, scripts, analytics or images from anyone else. Visiting it tells nobody but Cloudflare that you did.
Any paired device can delete the library from our servers. That removes your files, the record of your devices and every credential for the library, including the recovery code — after which no device can reach it again. Your devices keep their own copies; they simply report themselves no longer paired.
Three honest caveats, because "deleted" should mean what it says:
Under LGPD you can ask us to confirm what we hold, to give you a copy, to correct it, to delete it, or to explain what we do with it. Most of that you can do yourself from the app without asking. For anything else, write to us.
OctaShelf is not directed at children, and we do not knowingly collect anything from them.
If this policy changes in a way that affects what we collect or what we do with it, we will say so in the app rather than only here.