Legal

Privacy Policy

This policy explains exactly what our servers process when you use I Love Doc, what they never receive, and when each record is deleted. It is written to match how the software actually behaves — not how privacy policies usually sound.

Last updated September 18, 2026
On this page

The short version

Your files never touch our servers, and we cannot read them. Files travel directly between the two browsers over an end-to-end encrypted WebRTC connection. We never store file contents, we set no cookies, we run no analytics or ads, and we collect no names, emails, or accounts. The little metadata a transfer needs is deleted automatically within 7 days of the transfer expiring.
01

Who we are and what this covers

I Love Doc operates ilovedoc.org, a browser-to-browser file transfer service. This policy covers the website, the transfer service, and the relay infrastructure we operate. It applies whenever you send or receive files, or simply browse the site. Where required by law (including the GDPR for users in the European Economic Area and the CCPA/CPRA for California residents), the operators of the Service act as the controller of the small amount of data described below.

02

What we never receive

Because transfers are peer-to-peer, entire categories of data that most services collect simply do not exist here:

  • File contents. Bytes travel over the WebRTC data channel between the two browsers. Our servers coordinate the connection; they do not carry the payload.
  • Plaintext passwords. If a sender protects a transfer, the password is hashed in the sender’s browser with scrypt and a random salt. Only the hash is sent to us — and only so the receiver’s unlock can be verified.
  • File integrity hashes. The SHA-256 fingerprints used to verify each file are computed on both ends and compared between the browsers. They are not stored on the server.
  • Identity data. No accounts, no email addresses, no profiles, no contact lists. The only optional personal input is a display name the sender may attach to a transfer.
  • Browsing behavior. No analytics, no ads, no session recorders, no fingerprinting scripts, no third-party trackers of any kind.
03

What our servers process

A coordination server has to see something to coordinate. Here is the complete inventory, with why each item exists and how long it stays:

DataWhy we need itRetention
Transfer metadata (file names, sizes, types, file count, optional sender display name, download counter, expiry time)Shows the recipient what is incoming and enforces the expiry and download limits the sender chose.Deleted automatically within 7 days after the transfer expires.
Hashed credentials (a SHA-256 hash of the 6-digit share code and of the sender/receiver session tokens; a scrypt hash of the optional password)Lets the two browsers prove their roles to each other through the signaling service — without us ever knowing the secrets.Deleted with the transfer record, within 7 days after expiry.
Lifecycle events (timestamps of created / completed / expired, plus file counts and total sizes)Powers the honest aggregate counters on the home page and helps us debug the service. No content, no personal identifiers.Deleted with the transfer record.
IP addressesRate limiting (e.g. transfer creation and unlock attempts per address) and abuse prevention. Kept in memory only, for the duration of the rate-limit window (minutes).Minutes, in memory. Gateway/server access logs that contain IPs are kept only as long as operationally necessary for security.
Signaling messages (WebRTC session descriptions and network candidates exchanged between the two browsers)Relayed between the two parties to establish the direct connection. Not written to the database.Ephemeral — exists in memory during the handshake only.

The public statistics shown on the home page (transfers created, deliveries completed, files and bytes moved) are aggregate totals that cannot identify any transfer or person.

04

How your files actually travel

I Love Doc uses WebRTC, the same standard that powers browser video calls. Two things follow from that, and we would rather explain them than gloss over them:

The connection is end-to-end encrypted
WebRTC traffic is encrypted with DTLS between the two browsers. On the normal (direct) path, only those two devices ever see the file bytes. The app's connection badge shows “Direct P2P” when this is the case.
Peers can see each other's IP address
As with any direct connection, the sender and the receiver learn each other's network addresses during connection setup. That is inherent to connecting two browsers directly — it is also what removes the middleman from your file traffic.
STUN helps browsers find each other
We use public STUN servers (operated by Google and Cloudflare) for address discovery. Their operators can see that a connection attempt happened, but never any file data. Their own privacy policies apply to their infrastructure.
Relay fallback, honestly labeled
When a firewall or carrier-grade NAT blocks direct connections, traffic may be routed through an encrypted TURN relay. The relay forwards encrypted bytes it cannot decrypt, and the app's badge changes to “Secure relay” so you always know which path you are on.
05

Data stored on your device

Some conveniences live entirely in your browser’s local storage. They are never transmitted to us, never leave your device, and you can clear each of them from the app itself:

ilovedoc:recent-v1
The sender's “recent transfers” list — a short local history of sessions you initiated, with a clear button in the app.
ilovedoc:received-v1
The receiver's “recently received” list — same idea, for sessions you accepted. Also clearable with one click.
theme
Whether you prefer light or dark mode.
06

No cookies, no tracking

The Service sets no cookies — there is no login to remember and nothing to track. We run no analytics or advertising SDKs, load no third-party scripts, and perform no cross-site tracking or fingerprinting. Even the fonts are self-hosted. The only third parties your browser talks to are the public STUN servers (and, only if a direct connection fails, the encrypted relay) as part of the WebRTC connection setup described above. The “Do Not Track” signal and browser privacy settings need no special handling here because there is nothing to opt out of.

07

Retention and deletion

Retention in the Service is mechanical, not aspirational:

  • Expiry is enforced, not promised. Share links stop working the moment they pass their expiry (1 hour to 7 days, as chosen by the sender). After that, the session cannot be joined or resumed.
  • Metadata is purged automatically. A scheduled sweep deletes every record of a transfer — metadata rows, hashed credentials, and lifecycle events — within 7 days after the transfer expires. Deletion is cascading and permanent; nothing is moved to a soft-delete state.
  • Rate-limit state lives in memory for minutes and disappears on its own.
  • Device-local history (recent sends and receives) stays until you clear it, because only your browser ever had it.

We may retain minimal records beyond this window where we are legally required or permitted to (for example, to respond to a lawful request or to investigate abuse), and standard server access logs are kept only as long as operationally necessary for security.

09

Children

The Service is not directed to children under 13, or to EEA users under 16, and we do not knowingly process their personal data. Because there are no accounts, we have no way to know a user’s age; if you believe a child has used the Service and want a record removed, write to [email protected] — the normal retention sweep will in any case delete transfer metadata within 7 days of expiry.

10

International transfers

The Service is available globally, and a transfer can connect browsers in any two countries — that is rather the point. In the normal (direct) case, file data crosses whatever borders those two devices sit behind, without passing through us. The coordination data described above may be processed in the country where our servers are located; where that country is outside the EEA, UK, or Switzerland, we rely on the applicable safeguards for the limited, non-content metadata involved.

11

Changes to this policy

If we change what the Service processes, we will update this page and its “last updated” date before the change takes effect. The current version is always published here: ilovedoc.org/legal/privacy.

Privacy questions and requests

For any privacy question, or to request deletion of a specific record, write to [email protected].