1. Information we collect
We adhere to principles of data minimization and only collect details required to safely publish and operate your websites:
Account Data (Registered Users)
When you create a free account, we record your verified email address and a bcrypt-hashed password digest. We do not require real names, physical addresses, or payment cards.
Uploaded Files & Metadata
Uploaded archives, HTML documents, images, stylesheets, and scripts, along with file size tallies and creation timestamps.
Technical & Operational Logs
IP addresses, user agent strings, HTTP status codes, and security challenge responses required for rate limiting, DDoS prevention, and brute-force mitigation.
First-party Website Analytics
We inject a first-party script into supported published HTML pages. When a document becomes visible, it can send one page-view event containing a short-lived signed token. Stored events contain a random event identifier, site identifier, time, estimated device category, estimated country, and whether this was the first estimated visit that UTC day. Country is obtained from authenticated edge data or a local IP-geolocation database; visitor addresses are not sent to an external geolocation service. We do not store raw IP addresses, full user-agent strings, page paths, or query strings in analytics records.
A random, server-signed browser identifier is stored in localStorage, sessionStorage, and a host-only first-party cookie for up to 30 days, separately on each published site. Available copies are synchronized so that repeat visits and tabs can use the same identifier. The identifier is not an authenticated account session. Only keyed, per-site, per-day hashes are retained for unique visitor estimates; raw browser identifiers are not stored in analytics records. When browser storage is blocked, keyed network/browser estimates are used instead. Clearing all copies resets the browser identifier. These estimates identify browsers rather than verified people and are not used to link visitors across sites or days. We honor Do Not Track and Global Privacy Control signals; known bots are excluded, although automated traffic cannot be eliminated completely.
2. How we use your information
Information collected is strictly utilized to:
- Provision isolated hosting directories under dedicated subdomains.
- Maintain user authentication sessions and verify CSRF protection tokens.
- Enforce upload quotas (e.g. 10 MiB anonymous vs 50 MiB account storage).
- Defend against malicious bots and automated abusive uploads.
- Provide site owners with approximate browser page-view totals, daily unique visitor estimates, and aggregated country/device trends.
- Comply with valid court orders, subpoenas, and statutory legal mandates.
3. Data retention and schedule
Data stored on PageToLink is governed by predictable expiration schedules:
| Data Category | Retention Duration | Disposal Mechanism |
|---|---|---|
| Browser Analytics Identifier | Valid for up to 30 days; sessionStorage ends with the browser tab/session | Cookie expires automatically; expired localStorage entries are ignored and removed on the next tracker visit. Clear all three stores to reset all copies. |
| Site Extension Security Records | 1 day plus bounded cleanup backlog | Challenge hashes, account/site references, and previous/new expiry are periodically deleted |
| Page-view Events | 7 days | Periodic, bounded database deletion; cleanup backlog can delay physical removal |
| Daily Visitor Deduplication Hashes | Current and previous UTC day | Periodic bounded deletion; no cross-day identity |
| Hourly Analytics Summaries | 30 days | Periodic bounded deletion; retained until that schedule even after a site expires or is deleted |
| Guest Website Files | 72 hours from publication | Automated file system deletion (`rm`) & DB purge |
| Account Website Files | Initially 24, 72, or 168 hours; verified owners may extend live sites within a rolling 7-day horizon | Automated deletion or manual dashboard removal |
| Account Credentials | Duration of active account | Permanently purged upon account closure |
| Security Challenge Tokens | Ephemeral (verified within seconds) | Disposed after validation against Cloudflare |
| Session Cookies | 24 hours or until browser logout | Invalidated in session store and cookie expired |
4. Cookies & security architecture
We use account cookies and first-party analytics storage as described below:
__Host-sessionordropsite-session: An HTTP-only, SameSite=Lax cookie safeguarding user authentication and CSRF nonces.__Host-ptl-visitor(orptl-visitorfor local HTTP development), plusptl.visitor.v1in localStorage and sessionStorage: A random, site-scoped, signed identifier for approximate first-party unique/repeat page-view analytics. We do not use third-party marketing or cross-site tracking cookies. First-party analytics storage may require consent under applicable local law.- HTTP Security Headers: All non-published pages deploy strict
Content-Security-Policy,X-Content-Type-Options: nosniff, and cache prevention headers to protect your session.
6. Your privacy rights (GDPR, CCPA/CPRA)
Depending on your jurisdiction, you enjoy specific legal rights regarding your personal information:
- Right of Access & Portability: View and export the active sites associated with your account via the Dashboard.
- Right to Erasure (“Right to be Forgotten”): Delete your published sites immediately with the click of a button in your dashboard. To request full deletion of your registered email and account record, reach out to our team.
- Right to Rectification: Request correction of inaccurate account records.
7. Children's privacy
PageToLink is not directed at or intended for children under 13 (or under 16 where specified by European member state law). We do not knowingly collect personal information from minors.