Privacy Policy
Last updated: September 26, 2026
R2Explorer ("the App") is a native application for Mac, iPhone and iPad developed by Magenta Creations ("we", "us", "our"). Your privacy is important to us. This Privacy Policy explains how we handle your information when you use R2Explorer.
Information We Collect
R2Explorer is a local-first application. We do not collect, store, or transmit any personal data to our servers, and the App reaches no backend of ours. The App runs on your device and communicates directly with the Cloudflare R2 API (or other S3-compatible services) using credentials you provide. The only other thing that leaves your device is iCloud sync, which goes to your own iCloud account rather than to us — see iCloud Sync below.
Feedback Form
The App collects nothing; this website has one page that does — the feedback form, and only when you choose to fill it in and press send. That distinction is the design rather than a caveat: the App never sends feedback, it opens a web address in your browser and stops.
We receive what you typed — the subject and the details — and your email address if you chose to give one. The address is optional; leave it blank and the report is anonymous, and we will still read it.
Opening the form from inside the App (Help → Send Feedback) also fills in four
technical facts: your R2Explorer version, your operating system version, your device's model
identifier (like Mac16,10 or iPhone17,1), and your language. They arrive in the web address itself, so you
can read them in your browser's address bar before anything is sent, and the form shows
them as ordinary editable fields you can change or clear. Nothing is hidden. That is the entire
list — never your username, your computer's name, any bucket, object or file name, or any
identifier that would let two reports be recognised as coming from the same device.
Submissions are stored in a Cloudflare D1 database hosted in Western Europe and emailed to support@mgcrea.io so we can reply. We keep them for twelve months, then delete them. They are never used for marketing, never sold, and never shared. The form sets no cookie, and nothing in the code that handles your submission ever reads or stores your IP address. Like every page here it loads the site-wide visitor statistics described below, which are cookieless and do not identify you. To have a submission deleted sooner, email support@mgcrea.io.
API Tokens & Credentials
Your Cloudflare API tokens and S3-compatible credentials are stored securely in the Keychain, the operating system's encrypted credential store. Your credentials are:
- Never sent to us
- Never stored in plain text
- Only used to authenticate directly with the Cloudflare R2 API or S3-compatible endpoints
- Protected by Keychain encryption and access controls
- Never shared with any third party other than Apple's iCloud Keychain — and only then if you leave the "Sync credentials via iCloud Keychain" setting enabled
iCloud Keychain is Apple's end-to-end encrypted credential store: tokens synced through it are readable only by your own devices, not by Apple and not by us. Turning the setting off in Settings → General keeps every credential on the device that created it.
Sign in with Cloudflare
If you connect with Sign in with Cloudflare instead of pasting an API token, you enter your password on Cloudflare's own sign-in page, and R2Explorer never sees it. Cloudflare gives the App an access grant, and the refresh token that keeps that grant valid is stored in the Keychain like any other credential, synced through iCloud Keychain only under the same setting described above. You can withdraw the grant from your Cloudflare account at any time.
To finish signing in, Cloudflare hands a one-time sign-in code back to the App. That code is useless on its own: exchanging it also needs a secret that never leaves the App (the PKCE standard). How it gets back depends on the device:
- On a Mac, through a listener the App opens on your own computer
(
127.0.0.1) for the duration of the sign-in. It accepts no connection from the network. - On iPhone and iPad, through a page on this website,
r2-explorer.mgcrea.io/oauth/callback, with the code in its address; the App reads the code from there. That page is a static file: it runs no script, loads no visitor statistics, is served with an instruction that nothing may keep a copy, and no code of ours reads or stores what reaches it.
iCloud Sync
R2Explorer can keep your connections available on every Mac, iPhone and iPad signed into the same Apple ID. This is handled by two independent settings in Settings → General, both enabled by default. Everything synced goes to your own iCloud account — never to us.
- Sync connections via iCloud — mirrors your connection list through iCloud key-value storage. The synced record for each connection contains only its name, connection type, Cloudflare account ID, S3 endpoint URL, and region. No API tokens, no bucket contents, and no object data are ever included. Only Cloudflare R2 and S3-compatible connections sync; local wrangler dev connections never leave the device that added them, because their project path and security-scoped bookmark cannot resolve in another device's sandbox.
- Sync credentials via iCloud Keychain — stores your Cloudflare API tokens and S3-compatible credentials in Apple's end-to-end encrypted iCloud Keychain, so a synced connection can open on your other devices. They remain readable only by your own devices.
Turning either setting off keeps that data on the device it was created on. Because both rely on Apple's iCloud infrastructure, Apple's handling of it is governed by Apple's Privacy Policy.
Object Storage Data
Files, objects, and bucket metadata you browse, upload, or download through R2Explorer travel directly between your device and the Cloudflare R2 API (or your configured S3-compatible service). We never intercept, store, or have access to your storage data.
Smart Filter and Apple Intelligence
Smart Filter can turn a phrase you type, such as "big json files from last week", into filter conditions. It uses Apple's on-device Foundation model: the work happens on your device, with no network request and no server involved. It is not connected to any cloud AI service, and it adds no third party to the list below.
The only thing the model is given is the phrase you type. Your object names, file contents, bucket names, folder structure and credentials are never part of it — the model is asked only to translate your words into conditions such as a file type or a size, and R2Explorer then applies those to your objects itself, locally. The feature is off until you turn it on in Settings, and the filter field works without it.
Analytics & Tracking
The R2Explorer app does not include any analytics, telemetry, or tracking frameworks. We do not collect usage data, crash reports, or behavioral information.
This website is separate from the app, and it does keep visitor statistics. It
uses Cloudflare Web Analytics, which sets no cookie and stores nothing on your
device — no identifier between page loads, no localStorage, and no
fingerprinting of your browser or IP address. A visit is counted by looking at whether the page
you came from was on this site, not by recognising you. Because nothing is written to or read
from your device, this needs no consent banner under the ePrivacy Directive (in France, Article
82 of the loi Informatique et Libertés), and there is none.
Sent on each page view: the page address, the address you came from, your browser and operating system, your screen size, and page load timings. Cloudflare derives an approximate country from your IP address and does not pass the address itself to us. We see aggregate totals only — never a profile, never an individual, and never anything across other websites. Our lawful basis is legitimate interest in understanding how our own site is used; Cloudflare acts as our processor under its Data Processing Addendum. Any content blocker, or a browser Do Not Track setting, stops the script loading.
Apple Crash Reporting
If you have opted into sharing crash data with app developers in your device's settings, Apple may provide us with anonymized crash reports. This is controlled entirely by your own settings and is not something we can enable or configure.
Third-Party Services
The App communicates with the following third-party services:
- Cloudflare R2 API — to manage your buckets and objects, using credentials you provide
- Cloudflare sign-in — only if you use Sign in with Cloudflare, to authorize the App on Cloudflare's own page. See Sign in with Cloudflare above
- S3-compatible endpoints — if you configure connections to other S3-compatible storage providers
- Apple App Store — for license validation and in-app purchases, managed by Apple
- Apple iCloud — if you leave iCloud sync enabled, to carry your connection metadata and, separately, your credentials between your own devices. See iCloud Sync above for exactly what is included
We recommend reviewing Cloudflare's Privacy Policy for information about how Cloudflare handles data transmitted through their APIs.
App Sandbox
R2Explorer runs within Apple's App Sandbox, which restricts the App's access to your system. The App can only access files and resources you explicitly grant it permission to use.
Children's Privacy
R2Explorer is not directed at children under the age of 13. We do not knowingly collect any information from children.
Changes to This Policy
We may update this Privacy Policy from time to time. Any changes will be reflected on this page with an updated "Last updated" date.
Contact Us
If you have questions about this Privacy Policy, please contact us at support@mgcrea.io.