Privacy Policy
What Phoneporter processes, why, who helps us run it, and your rights.
Last updated: 2026-10-27
Phoneporter sends text, links and images from your browser to your phone. This policy explains what the Phoneporter app (iOS and Android), the browser extension and this website process. We keep it short on purpose.
Who is responsible
The data controller is Mehmet Demiray, İzmit, Türkiye. Contact: hi@phoneporter.com.
What you send is end-to-end encrypted
Everything you send (text, links, images, pages) is end-to-end encrypted with AES-256-GCM on your browser before it leaves it. The key is created when you pair, travels only inside the QR code you scan with your phone, and is never sent to our servers. Our servers hold only sealed boxes that nobody but you can open: we cannot read your items, and we cannot give them to anyone. There is no account, no email and no password.
What we process, and why
The legal basis is given for each item: providing the service you asked for (a contract), or our legitimate interest in running and improving it. Where we rely on legitimate interest you can object at any time by emailing hi@phoneporter.com.
- Encrypted items. Stored on Cloudflare R2 only until your phone has downloaded them, and deleted as soon as the phone confirms. They become unreachable after 24 hours and are deleted within the hour after that. We also keep small records per item (size and timestamps) and short-lived counters per pairing for rate limits. Basis: providing the service.
- Pairings. Which browsers are paired with which phone (up to 5 browsers per phone) and when. The name you give a browser stays on your devices (it travels only inside the QR code) and is never sent to our servers. Disconnecting a browser deletes that pairing and its items on the server. Basis: providing the service.
- Install id. Every app and extension install makes a random id on your device. It is not derived from your hardware, your name or your accounts. It lets us tell installs apart without knowing who you are. Basis: providing the service and our legitimate interest.
- Anonymous user record and activity. We group a phone and the browsers connected to it into one pseudonymous user record, so we can count installs per person (for example browsers per phone). For each install we also note the day it was last active, to count active users. This is analytics. Basis: legitimate interest.
- Device and browser details. Sent when the app or extension first starts, when these details change, and otherwise at most once a day. App: operating system and version, the device model and device model code (called "device id" in the app's code), manufacturer, brand, device type, whether it is an emulator, app version and build, Android API level, your phone language and the app language, and a device identifier provided by the operating system. On Android that identifier survives a reinstall of the app. Extension: browser and version, operating system and architecture, extension version and interface language. We never collect your location, contacts, photos, MAC address or anything that needs a permission prompt. We use this to run the service (for example to pick the right push channel) and to understand which platforms to support. Basis: legitimate interest.
- Push tokens. Your phone's push token is kept on our server so we can tell your phone that an item has arrived. It is created by Google Firebase Cloud Messaging (on iPhone, delivered through Apple's push service). A push message contains no item content. Basis: providing the service.
- IP addresses. Cloudflare sees the IP address of every request to our servers, as any hosting provider does. We do not store IP addresses in our own database and do not use them to identify you. Basis: legitimate interest in running a secure service.
- Error reports from the app and extension. If the app or extension crashes or hits an unexpected error, it sends an error report to Sentry: the error type and a scrubbed message, the stack trace, app or extension version, operating system or browser and version, and the device model on mobile. The only user field is the random install id. Reports contain no names, email addresses, IP addresses, page content, URLs or items. You can turn error reports off in the app's Settings and in the extension's popup (in Firefox, by declining or revoking the optional data permission). On mobile, turning it off stops native crash reporting too, right away. The install details above are not covered by that switch. Basis: legitimate interest, with this opt-out.
- Error reports from our server. Our API also reports its own server errors to Sentry: the error, the request path with ids removed, and no headers, IP address or request body. They are about our server, not your device, so the switch does not cover them. Basis: legitimate interest in keeping the service working.
Who helps us run it
- Cloudflare hosts the API, the database (D1), encrypted item storage (R2) and this website.
- Google Firebase delivers push notifications (Firebase Cloud Messaging). For pre-release builds, Firebase App Distribution also holds the email addresses of invited testers.
- Apple delivers push notifications to iPhones (Apple Push Notification service), passed on by Firebase.
- Sentry receives error reports, stored in its US region. Sentry keeps them for 90 days or less.
These providers process data on our behalf and may do so outside Türkiye, including in the United States. We do not share data with anyone else, we show no ads, we do not sell data, and we do not track you across other apps or websites.
How long we keep it
- Encrypted items: deleted as soon as your phone has them, and unreachable after 24 hours (deleted within the hour after that).
- Install, user and device records and push tokens: until you ask us to delete them. We may delete installs that have been inactive for 12 months.
- Error reports: according to Sentry's retention, 90 days or less.
Your rights and deleting your data
You can ask us what we hold about you, ask us to correct it, or ask us to delete it. Under Turkish data-protection law (KVKK), and under the GDPR if it applies to you, you also have the right to object, to restrict processing, to data portability, and to complain to the Turkish Personal Data Protection Authority (Kişisel Verileri Koruma Kurumu) or your local data-protection authority. We answer requests within 30 days.
- "Delete everything" in the app only clears your inbox on your phone (its items and their images). Your browsers stay connected, the phone stays registered with our server, items not downloaded yet still arrive, and nothing on our servers is deleted.
- Disconnecting a browser deletes that pairing and its items on the server.
- To delete the rest (install, user and device records, push token), email hi@phoneporter.com. Because we have no accounts, tell us which app or extension and device you use so we can find your records. We delete on request.
This website
This website sets no cookies, uses no analytics and loads no third-party scripts. Cloudflare serves it and sees request IP addresses, as described above.
Children
Phoneporter is not directed at children under 13, and we do not knowingly collect data from them. If you think a child has used it, contact us and we will delete the data.
Changes
We may update this policy. The date at the top shows the latest version; we will make material changes visible on this page.
Contact
Questions or requests: hi@phoneporter.com.
Phoneporter