Privacy Policy

Plain-language summary of what Yellorn collects, how it's stored, who has access, and how you can request deletion.

Last updated: July 15, 2026

Yellorn is operated by HoangYell as a developer tool. We collect the minimum data needed to run the editor, publish mock webhook URLs, create temporary editor share links, dispatch outbound HTTP requests, and (for paid plans) bill subscriptions. We do not sell your data and we do not use it for advertising.

This policy is written in plain English. If anything is unclear, email support@yellorn.com and we will clarify.

Account data

  • Email address — used as your login identifier and for transactional emails (verification, password reset, billing receipts).
  • Password (hashed) — stored as a PBKDF2-SHA256 hash with 100,000 iterations and a unique per-account salt. We never see or store the plaintext.
  • Google OAuth profile (if you sign in with Google) — name, email, avatar URL, and the verified- email flag. Stored on the same user record as email/password accounts.
  • Subscription status — current tier, billing provider customer id, subscription expiry. Used to enforce tier limits.

Workspace content

  • Editor workspace — open tabs (text, format, name, pin state), colour palette, and pane split. Stored locally in your browser (localStorage) by default. Open editor tabs are stored in your Yellorn account only when you opt in via Cloud Backup in Settings; palette and pane layout remain local.
  • Temporary share payloads — editor text or comparison content, its format, and its tab name are stored in Cloudflare KV when you create a share link. You choose a lifetime from 5 minutes to 7 days. An optional share password is stored only as a salted PBKDF2-SHA256 hash; the shared payload itself is not end-to-end encrypted. A separate creator-only capability lets the browser revoke the link without exposing that control in the public URL. Yellorn keeps recent capabilities in this browser only, without duplicating the shared payload, and excludes it from Cloud Backup.
  • Webhook payloads — the data you publish via Publish, stored in Cloudflare KV keyed by the slug. Free tier expires after 24 hours; paid tiers persist for the duration of the active subscription.
  • Webhook request logs — every incoming request to your slug URL (method, headers, body, source IP, timestamp) is logged in Cloudflare D1. Logs are automatically purged after the tier retention window (8 hours on Free, 1 day on Pro, 3 days on Team); only the owner can read them via the portal at /webhook/<slug>.
  • Request Sender history — every outbound request you dispatch (method, URL, response status, timing, truncated response body) is logged in Cloudflare D1 with the same tier-aware retention window (8 hours / 1 day / 3 days).
  • Saved request templates — name, method, URL, headers, auth, and body, stored in Cloudflare KV under your account. Only deleted when you ask.

Operational data

  • Session cookies — HTTP-only cookies used to keep you signed in. Signed with HMAC; we cannot read them after the fact.
  • Hashed IP for rate limiting — your IP is hashed (SHA-256) before being used as a counter key for rate limit buckets. We never store the raw IP.
  • Email rate limit counters — keyed by email address; used to prevent verification / reset email abuse.
  • Webhook usage counters — your account identifier, calendar month, and number of webhook creations are stored in Cloudflare D1 to enforce plan limits.

Analytics

  • Cloudflare Web Analytics (server-side only) — request counts, response times, and geographic distribution. No client-side tracker is loaded.

All persistent storage lives in Cloudflare’s global network:

  • Cloudflare KV — webhook payloads, temporary share payloads, user records, sessions, billing audit trail, sender templates, and Cloud Backup data (open editor tabs only, and only when you opt in via Cloud Backup in Settings).
  • Cloudflare D1 (SQLite) — webhook ownership and plan-usage records, Cloud Backup tab metadata (name, format, size, and version), hashed-IP or account-scoped rate-limit counters, plus webhook request logs and sender execution logs (8 hours on Free, 1 day on Pro, and 3 days on Team).
  • Resend — used as the email delivery provider for verification, password reset, and billing receipts. Only the recipient address and message content cross the boundary.
  • Polar — used as the payment processor for paid plans. Card details never touch Yellorn servers; we only store the Polar customer id and subscription status.

Cloudflare’s edge data centres span 300+ locations; data is replicated globally for read performance. KV and D1 both encrypt data at rest.

  • You — via the editor, the Webhook portal, the Request Sender history, and Settings.
  • Yellorn operators — operational logs and Cloudflare’s dashboard, only for debugging and quota investigation. Never exported in bulk.
  • Sub-processors — Cloudflare (hosting + storage + analytics), Polar (payments), Resend (email), and Google (OAuth). Each handles only the data it needs.
  • Anyone with a slug URL — the URL is the capability, so anyone you share it with can hit it. Only you can read its request log.
  • Anyone with a share URL — an unprotected link is a capability that can retrieve its temporary editor copy until expiry. A password-protected link also requires the password.
  • Access — every editor tab, webhook, request log, and saved template is visible to you in the UI.
  • Correction — you can edit any tab or saved template at any time.
  • Deletion — you can delete an individual webhook from the Webhooks dashboard, an individual sender template from the Senders dashboard, or your entire account by emailing support@yellorn.com. Deletion is honoured within 7 days. Request logs purge automatically on a tier-aware rolling window (8 hours on Free, 1 day on Pro, 3 days on Team), and temporary share payloads expire automatically after the lifetime chosen by their creator or are deleted when the creator revokes the link.
  • Portability — you can copy any payload, request log entry, or template directly out of the UI.
  • Cookie controls — analytics cookies and scripts do not load when your browser sends a Do Not Track opt-out, and stored analytics data can be cleared at any time. The session cookie expires when you sign out.

Yellorn is a developer tool intended for adult professional use. We do not knowingly collect data from children under 13 (or under 16 in jurisdictions where that is the threshold). If you believe we have collected data from a minor, email support@yellorn.com and we will delete it.

When the data flow changes (a new sub-processor, a new storage primitive, a new analytics gate) we update this page and bump the “Last updated” date above so the current policy is always identifiable.

For questions about this policy or to exercise any of the rights above, email support@yellorn.com.