Privacy policy
Proof of Work is made by Offline Protocol, Inc. This policy explains what stays on your device, what other people can see, what reaches us, what other services see when you use them, and the choices and rights you have.
Effective 3 November 2026
In short. There is no sign-up with us: no email, phone number or password, no advertising and no tracking across apps or websites. What you publish is public. It goes to the devices you link with and, unless you turn it off, to the public front page, a node we run that keeps a copy and passes it on. The App sends us pseudonymous usage data, such as which features are used, under a random id; it is off until you turn it on if you are in the EEA, the UK or Switzerland, and you can turn it off anywhere. Nothing is sent before you have seen the notice at Start.
Who is responsible
Offline Protocol, Inc., a Delaware corporation, is the controller of the personal data described in this policy. Contact us at legal@offlineprotocol.com.
Content on other people’s devices is in their hands, not ours. Relays and other networks you use are run by others, under their own policies.
What reaches us
The public front page
We run one always-on public node, the public front page. The App joins it by default when you start, so that a new device has something to read and your public posts reach people who are not nearby. You can turn this off at Start, and later leave or join again in the App’s settings.
Like any other peer, it receives and keeps a copy of the public events that reach it: posts, comments, votes, reactions, claims, attestations, flags, follows and profiles, each with its author’s public key, display name and whatever the author put in their profile, such as a linked wallet address, ENS name, Lens account or Offline ID. It passes them on to other devices that join it. It reaches devices through the Nostr relays listed below, and records when it first received each event and the network address (derived from its key) of each device it links with.
We use it to pass public posts on, to compute aggregate network statistics (for example, how many posts and accounts the network holds), and to act on reports. Statistics we publish are aggregate counts, not copies of your posts. Even if you don’t join it, public events you publish can reach it through other devices that did.
Reports and moderation
If you email a report, a copyright notice or an appeal, we receive your message, your email address and whatever you include, and we keep a record of what we decided. Our takedowns and warnings are public, signed labels that name the post or account concerned and the reason.
Pseudonymous usage data
To learn which features help and where the App breaks, it sends us usage events under one random id made for that install (or browser). The id is not your account, your keys or your device address, and you can reset it at any time. The events say what kind of thing happened, for example that the App opened, that you published “a post” or “a vote” (never its content or who it was about), whether you turned on nearby sync, chose relays or made a link over the internet, plus the App’s version and platform, with times rounded to the hour. We call this pseudonymous rather than anonymous: the id is random, but it is the same for every event from that install until you reset it.
When the App’s networking runs, the Offline Protocol SDK built into it also sends network diagnostics, such as link and delivery counts and errors, to Offline Protocol’s telemetry service at analytics.offlineprotocol.com, with device identifiers off and peer identifiers removed. One switch controls both.
- When it starts. Never before you have seen the notice at Start. If you are in the European Economic Area, the United Kingdom or Switzerland, it stays off until you turn it on. Elsewhere it is on unless you turn it off.
- Turning it off. You → Privacy on the phone, or Settings → Privacy on the web. Turning it off stops sending and drops the data queued on this device that had not been sent yet, including the SDK’s. “Reset my usage id” in the same place replaces the random id.
- Who processes it. Usage events are processed for us by PostHog, Inc., which hosts them in the United States (us.i.posthog.com). We set it not to keep IP addresses, not to derive a location from them and not to build person profiles. SDK diagnostics go to our own service.
We use this data only to understand and improve the App and our networking software. We never sell it, share it for advertising, or combine it with the public events on our node to find out who you are.
When you contact us or link an Offline ID
- If you email us at support@ or legal@offlineprotocol.com, we receive your message and email address and use them to answer and to keep a record of the request.
- If you link an Offline ID (optional, under You → Links), you sign in to our Offline ID service with your email address and a one-time code, and the App fetches a signed credential for your account. Your email address goes to the Offline ID service only and is never published. Linking publishes, with your profile, your Offline ID username, account number and node address. The Offline ID service is governed by the Offline Protocol privacy policy at offlineprotocol.com/privacy.
Why we use it (lawful bases)
Where data protection law such as the GDPR applies, we rely on these bases:
- The public front page: our legitimate interests in running and protecting the network, giving new devices something to read, and measuring the network, balanced against yours; the events are ones their authors published to the public network. You can object, leave the node, or ask us to remove your events from it.
- Reports, takedowns and appeals: our legitimate interests in keeping the App safe and lawful, and our legal obligations where a law requires us to act on a notice.
- Usage data and SDK diagnostics: your consent in the EEA, the UK and Switzerland, which you can withdraw at any time with the switch; our legitimate interests in improving the App elsewhere.
- Emails and requests: our legitimate interests in answering you, and our legal obligations where you exercise a legal right.
- Offline ID: performing the service you asked for.
How long we keep it
- Public events on our node: until they are removed by a takedown or a deletion request, or the node is retired. Published statistics are aggregate only.
- Usage events at PostHog: 12 months, then deleted.
- SDK diagnostics: 12 months, then deleted.
- Reports, takedowns, appeals and the emails about them: 2 years from the last action on them, or longer where a legal claim or obligation requires it. Takedown labels themselves are public events and stay in force until we withdraw them.
- Support emails: 2 years from the last message.
What stays on your device
Your keys are kept in your device’s secure storage (the iOS Keychain or the Android Keystore). Your posts, the posts of others, your settings, drafts, muted words, blocks and private notes are kept in the App’s storage on your device. Deleting the App removes its storage from that device; your operating system may keep secure-storage items until you remove them, which deleting your account does for you.
What other people can see
Proof of Work is a public network. Everything you publish is signed with your key and can be read, kept and passed on by anyone who receives it, including our public node, with no way to recall it. That includes:
- your display name, your account’s public key and anything you add to your profile, such as a bio, links, a picture, a linked wallet address, ENS name, Lens account, and the Offline ID username, account number and node address if you link one;
- your posts, comments, votes, reactions, claims, attestations, follows and the boards you post to, with their times;
- your flags: a flag is a public, signed event that names the post and the reason;
- the devices you add to your account, by their public keys.
Private notes, drafts, muted words, blocks, your interests for catch-up and your settings are never published.
Photos and videos. The App removes location data (such as GPS coordinates) from photos and videos before you publish them. Anything visible in the picture itself is published as it is.
Nearby sync and relays
- Nearby sync (Bluetooth and the local network, after you turn it on and allow it) makes your device discoverable to devices close by and on the same Wi-Fi by an address derived from its key. It can keep syncing over Bluetooth while the App is in the background. It does not use or share your location.
- Location permission on Android 12 and below. Those versions of Android only allow Bluetooth and Wi-Fi scanning to apps that hold the location permission, so the App asks for it there. It never reads or stores your location. Android 13 and later do not need it.
- Relays are public Nostr relays run by third parties. The App uses relay.damus.io, nos.lol and relay.primal.net by default to reach the public front page, and suggests them when you link over the internet; you can choose others. A relay passes on what linked devices send each other, encrypted end to end, so it cannot read it, but it can see your IP address, which devices you exchange data with, and when.
Features that contact other services
Each of these sends only what it needs to the service named:
- Ethereum name lookups are on by default. To show ENS names and agent records for the accounts on your screen, the App looks them up through https://ethereum-rpc.publicnode.com, Allnodes’ public Ethereum endpoint, which sees the addresses and names looked up and your device’s IP address. Turn them off, or pick another server, in You → Connections on the phone or Settings → Connections on the web.
- Lens lookups of Lens accounts query public Lens endpoints with the account being looked up, when you turn them on.
- A Lens link copies the posts you choose to Lens (its test network for now) and stores their metadata in Grove, Lens’ public storage (api.grove.storage). Those copies are public and immutable, and are governed by Lens’ terms.
- Linking a wallet with your wallet app carries the request between the App and your wallet app through WalletConnect’s relay (run by Reown), only when you link a wallet that way. The request and the signature are end-to-end encrypted, so the relay sees your device’s IP address, the time and the App’s WalletConnect project, not your wallet address or what you sign. Your wallet’s keys never leave your wallet app.
- Connections and bridges (Nostr, the fediverse, Farcaster, GitHub, web feeds) contact those services only to read or copy what you asked for: the Nostr relays you read from (relay.damus.io, nos.lol and relay.primal.net unless you choose others), the Farcaster node you choose, the servers and sites of the accounts and feeds you follow or link, api.github.com when you link GitHub, and the relays, bridge server or node you send copies to. They see your IP address and what is asked for. Copies of your posts are public there, under their own policies.
- Link previews load only when you tap them. Loading one contacts the linked site, which can see your IP address and when you looked.
- Profile pictures load from the address their author gave, which can see your IP address; they load only for accounts you follow or when you tap.
- The on-device model in the phone app is off until you turn it on. Turning it on downloads it once from Hugging Face (huggingface.co, which serves the file through its own download network); Hugging Face sees your device’s IP address and the file requested, nothing about you or your posts. The model then runs entirely on your phone: nothing you read or write with it leaves the phone unless you post it. Remove deletes it from the phone.
- Your own model endpoint, if you add one, receives the text you ask it to work on.
Apart from Ethereum name lookups, these are off until you turn them on or use them. Those services have their own privacy policies.
Permissions
The App asks for each permission only when you use the feature that needs it: Bluetooth and nearby devices for nearby sync, the local network to sync on the same Wi-Fi, location on Android 12 and below for the same scanning, the camera to scan codes or take a photo or video for a post, the microphone to record a voice note or a video with sound, and your photos only for an item you pick. You can refuse or revoke any of them in your device settings; the rest of the App keeps working.
International transfers
We are based in the United States, and PostHog hosts usage events there. When we transfer personal data from the EEA, the UK or Switzerland to the United States, we rely on the European Commission’s standard contractual clauses (with the UK addendum and Swiss amendments) in our agreement with PostHog, or on the EU-U.S. Data Privacy Framework where the recipient is certified. You can ask us for a copy of the safeguards.
Deleting your account
You can delete your account in the App’s settings, or follow the steps at pow.offlineprotocol.com/delete. Deleting:
- publishes a signed notice that the account is revoked, and a blank profile;
- unlinks any wallet, ENS name and Offline ID from the account;
- erases the App’s data, your keys and the usage id from that device.
Copies of what you published that are already on other people’s devices remain, and we cannot delete them. You can ask us at legal@offlineprotocol.com to remove your events from our public node and from what it passes on; tell us your account’s public key or the post ids, and we will remove them once we have confirmed the request comes from the account. To delete usage data, reset your usage id in the App and send us the old one if you have it, or write to us.
Your rights
Depending on where you live, you may have the right to access, correct or delete personal data we hold about you, to restrict or object to how we use it, to receive it in a portable form, and to withdraw consent at any time without affecting what was done before. To use them, email legal@offlineprotocol.com. We may need to confirm the request comes from you, for example by asking you to sign a message with your account’s key. We cannot change or delete what you published from other people’s devices.
If you are in the EEA, the UK or Switzerland, you also have the right to complain to a data protection supervisory authority, in particular where you live or work, or where you think your rights were infringed. In the UK that is the Information Commissioner’s Office; in Switzerland, the Federal Data Protection and Information Commissioner. We would like the chance to address your concern first.
California residents
If the California Consumer Privacy Act applies to us, California residents have these rights. In the last 12 months, we collected these categories of personal information:
- Identifiers: the random usage id, your account’s public key and device addresses as published, and your email address if you emailed us or linked an Offline ID;
- Internet or other electronic network activity: the usage events and SDK diagnostics described above;
- Content you made public: the public events our node receives.
We collect them from you and from the devices that pass public events on, for the purposes in this policy. We disclose usage data to PostHog as our service provider. We do not sell personal information, do not share it for cross-context behavioral advertising, and do not use sensitive personal information to infer anything about you. You have the right to know what we collected, to delete it, to correct it, and not to be discriminated against for using these rights. Email legal@offlineprotocol.com; an authorized agent may ask on your behalf, and we will verify the request as described above.
Children
The App is not directed to children. You must be at least 16 to use it in the EEA, the UK and Switzerland, and at least 13 elsewhere. We do not knowingly collect personal data from children under those ages; if you believe a child has used the App, write to us and we will delete what we hold.
Changes
We may update this policy. We will post the new version here and change the date above, and for a material change we will tell you in the App before it takes effect.
Contact
Offline Protocol, Inc. Privacy and legal requests: legal@offlineprotocol.com. Help with the App: support@offlineprotocol.com.