oi.

Privacy Notice

What oi records, why it records it, and how long it keeps it.

Last updated 15 August 2026. Applies to oi.mrdk.io and every Site served from it.

The short version

  • Files you publish are stored so they can be served. Nothing else is done with them.
  • Request metadata (IP address, user agent, path, timestamp) is used for rate limiting, abuse handling, and the analytics shown to a Site's own owner.
  • There is no advertising, no cross-site tracking, no third-party analytics script, and nothing is sold or shared for marketing.
  • The apex pages set no cookies at all. You are reading this page without one.

Files you publish

When you publish, oi stores the file bytes and a manifest of their paths, sizes, and content hashes. Identical files are stored once and referenced by hash, so republishing an unchanged file uploads nothing new.

Files are served to whoever your access setting allows: everyone with the link, everyone who knows the Site password, or only the verified email addresses and domains you list. Access is checked on the server before any byte leaves it.

Do not publish secrets. A Site is static hosting: anything in the files is readable by anyone the access setting admits, including API keys accidentally left in a build output.

Request data

Each request to the API or to a published Site is seen with the usual HTTP metadata: source IP address, user agent, requested path, referrer, response status, and time.

  • Rate limiting. Anonymous publish counts are held per IP address in the server's memory for a one-hour sliding window. They are not written to disk and do not survive a restart.
  • Site analytics. Aggregate counts — views, visitors, referrers, countries, crawler hits, 404s — are computed for a Site and shown only to that Site's owner. They are first-party: no third-party analytics service is contacted, and no identifier is stored in the visitor's browser.
  • Operations. Errors are logged so failures can be diagnosed.

Account data

When accounts are enabled, an account holds an email address, the API keys issued to it, and the resources it owns. The email address is used to send one-time sign-in codes, Site invitations you trigger, and service notices. It is not used for marketing.

Sign-in uses one-time codes, so oi never holds a password for you.

How long things are kept

  • Anonymous Sites and their files: about 24 hours from creation, then deleted by a sweeper that runs every minute. A small record is kept so the expired URL can answer 410 Gone instead of pretending the Site never existed.
  • Account-owned Sites: until you delete them or delete the account.
  • Rate-limit counters: one hour, in memory only.
  • Analytics aggregates: for the ranges the analytics API exposes.

Where the data lives

oi runs its own storage. Uploaded bytes are written to content-addressed blob storage on the machine that runs the service, and metadata lives in a database file beside it. The same service reads those bytes back when a visitor loads a Site.

There is no third-party content delivery network in front of Sites, no external object-storage account holding a copy, and no other processor with routine access to your files.

When data is disclosed

Only in three cases: to you, about your own resources; to visitors, when your access setting permits them; and to the extent legally required, in which case we disclose the minimum and tell the affected account where we are permitted to.

Your choices

You can delete any Site you own at any time, which deletes its files. You can revoke any API key without touching the others. You can let an anonymous Site expire rather than claiming it. For a copy of, or the deletion of, everything associated with an account, write to hi@oi.mrdk.io.

If you publish someone else's personal data on a Site, you decide what happens to it — see the data processing addendum for how the roles divide.

Contact

Questions about this page go to hi@oi.mrdk.io. Abuse reports are handled faster through the abuse page.