ClipRefine CLIPREFINE · PRIVACY

Privacy Policy
for ClipRefine

v1.0.0 · Last updated: July 27, 2026

ClipRefine is a Chrome extension that refines clipboard text locally in your browser. This policy describes exactly what data the extension reads, stores, and transmits, based on the published source code.

Summary: the FREE version makes zero network requests. The PRO version contacts Lemon Squeezy only at the moments described below.

01Data stored locally

All data is stored via chrome.storage.sync — accessible only to the extension on your Chrome profile, never sent to any server we operate.

keycontentspurpose
settingsisGlobalActive, showToast, showConsoleLogYour preferences
rulesArray of rule objects: name, description, findPattern, replacePattern, isRegex, isActive, targetDomainsText transformation rules you create
deviceIdUUID generated locally via crypto.randomUUID() on first useStable per-Chrome-profile identifier used to derive your license instance name
license (PRO only)licenseKey, instanceId, instanceName, activatedAt, expiresAt, lastValidatedAt, customerId returned by Lemon SqueezyLicense state

If you are signed into Chrome with Sync enabled, this data syncs across your Chrome browsers via Google's infrastructure. We never receive a copy.

02What we never collect or store

  • Clipboard contents — all text processing happens inside the copy event handler in content.js. Rules are applied locally via String.prototype.replaceAll or RegExp, and the result is written directly back to the clipboard. No clipboard text is sent over the network.
  • Browsing history — the extension reads window.location.hostname only to match against your rules' targetDomains. The hostname is never stored or transmitted.
  • Personal information — the extension itself does not collect names, emails, or profile data. PRO checkout is handled separately by Lemon Squeezy (see 04).
  • Analytics or telemetry — no analytics SDK, no event reporting, no error reporting service is loaded.

03Network activity

FREE version

Zero outbound requests. The extension does not call fetch, XMLHttpRequest, or load any external resource. You can verify this in the source.

PRO version

The extension contacts https://api.lemonsqueezy.com/v1 in exactly three situations:

endpointwhenrequest payload
POST /v1/licenses/activateWhen you click "Activate License"license_key, instance_name
POST /v1/licenses/validateScheduled re-validationlicense_key, instance_id
POST /v1/licenses/deactivateWhen you click "Deactivate License"license_key, instance_id

Where:

  • instance_name = ClipRefine-{first 8 characters of your locally-generated UUID}
  • instance_id = UUID issued by Lemon Squeezy after activation

Re-validation schedule: first check 5 minutes after Chrome starts, then approximately every 24 hours, via chrome.alarms. Re-validation runs only while you hold an active PRO license.

Network resilience: if Lemon Squeezy is unreachable (network error, timeout, 5xx), the extension keeps your existing PRO state. A license is downgraded only when Lemon Squeezy explicitly responds that it is no longer valid (e.g., refunded or disabled).

04Third-party service: Lemon Squeezy (PRO only)

We use Lemon Squeezy as our Merchant of Record for payment processing and license issuance.

  • What we send to Lemon Squeezy from the extension: license key, instance name, instance ID — as listed in 03. No clipboard data, no rules, no browsing data.
  • What Lemon Squeezy returns and we store locally: instance.id, license_key.status, license_key.expires_at, meta.customer_id.
  • What Lemon Squeezy collects directly from you at checkout (independent of the extension): your email address, billing details, payment method. This is handled on *.lemonsqueezy.com, not in the extension.
  • Tax and refunds are handled by Lemon Squeezy.
  • ClipRefine is not distributed in the EU/EEA and PRO licenses are not offered for sale to consumers located there — see the Terms of Service.
  • Their privacy policy: lemonsqueezy.com/privacy

05Permissions

Permissions declared in manifest.json and why each is needed:

permissionreason
storageRead/write rules, settings, and license state in chrome.storage.sync
activeTabDetect the current page's hostname for domain-scoped rules
clipboardWriteReplace your copied text with the refined result
alarmsSchedule the 24-hour PRO license re-validation
host_permissions: <all_urls>Run the content script on any page where you press Copy

06Data retention

  • Locally stored data persists until you uninstall the extension, click "Clear extension data" in chrome://extensions, or explicitly deactivate your license (which clears license and instanceId).
  • License records on Lemon Squeezy's side persist according to their own retention policy.

07Your rights

  • View / edit / delete all your rules and settings on the extension's options page.
  • Deactivate your PRO license via "Deactivate License", which calls POST /v1/licenses/deactivate and clears the local license object. This frees up one of your 5 device slots.
  • Uninstall the extension to remove all local data.

Statutory data protection rights: wherever you are located, the personal data we hold is limited to what is listed in 01. Because that data lives on your device, you can exercise rights such as access, deletion, and portability directly via Chrome, without needing to contact us. For data held by Lemon Squeezy, contact them through their privacy page.

08Children's privacy

ClipRefine does not knowingly collect data from children under 13.

09Changes to this policy

Material changes will be noted in extension update release notes. The version and "Last updated" date at the top of this document reflect the current revision.

10Contact

Questions about this policy: hello@fromeast.dev

See also: Terms of Service