Privacy Policy — Transmute App & purfectlabs.com
Purfect Labs Inc.
Effective date: October 8, 2026 · Provided by: Purfect Labs Inc., a Delaware corporation ("Purfect Labs," "we") · Contact: shawn@purfectlabs.com · Mail: Purfect Labs Inc., c/o Harvard Business Services, Inc. (registered agent), 16192 Coastal Highway, Lewes, DE 19958
Purfect Labs stores only the trial and licensing records described below. It never receives what you send through Transmute, and the business (source-delivered) editions send it nothing at all. Payments are processed by Stripe.
The short version: the product is built so we cannot see your data. The App runs on your machine; your prompts, code, files, and model responses never reach Purfect Labs. License validity is verified locally by cryptographic signature. Licensed installs may fetch renewal files; trial installs send pseudonymous usage counters (see §2). This policy describes the trial heartbeat, license renewal fetches, our website, and our point of sale — because that is all there is.
1. What the App does NOT collect
The App does not send Purfect Labs your prompts, source code, files, credentials, model responses, redaction maps, audit logs, crash reports, or any content the App processes. Trial usage reporting is described below. Data the App produces (logs, token maps, analytics) is stored locally on your machine, or on infrastructure you control, under your control.
2. Trial heartbeat and license renewal — the only two things the App sends
Trial usage counters (trial installs only). While the App runs without a license key, inside the free trial window, it sends a pseudonymous report about once an hour to our licensing service. The report contains: a non-reversible, salted hash of a hardware identifier (a one-way machine marker — the raw hardware identifier never leaves your device and is never stored; the salt is specific to this product, so the marker cannot be matched against identifiers held by anyone else; the marker is pseudonymous, not a guarantee against correlation), a report timestamp, the edition (SKU), the operating-system name (e.g. "darwin", "windows", "linux"), the App version, a monthly token-consumption counter, a random single-use challenge value, and the lease duration the App requests (the last two are authorization mechanics, not data about you). The same machine produces the same marker when the App is reinstalled, which is how trial abuse is prevented; on Linux and Windows the underlying identifier belongs to the operating-system installation, so reinstalling the operating system produces a new marker. The report contains no name, no email, no content, and no account information, and the App does not include any license identifier in trial reports. Our licensing service stores trial records separately from purchase and license records and does not link them.
The heartbeat is also how the trial authorizes itself. Each successful report returns a short-lived, signed trial lease of up to six hours, and the App must obtain a new lease each time it starts. If the licensing service is unreachable for longer than the lease (for example, offline use or a service outage), the App's traffic protection pauses until the next successful check-in — so a working free trial requires periodic connectivity to the licensing service. Paid licenses do not work this way: they are verified entirely on your device and keep working with no service contact (see below).
Entering a license key ends this reporting entirely and permanently. We process trial reports to operate the free trial, prevent trial abuse, understand trial usage, and show heavy trial users a purchase prompt in the App; the legal basis is our legitimate interest in those purposes. You may erase your trial record at any time from the App's License panel ("delete my trial data from the server") or by contacting us with the marker shown in that panel. Erasure deletes the usage record; a minimal eligibility record (§3) is retained so that erasure cannot be used to restart the trial. Erasure also stops future reports across restarts while the local preference is retained, and ends the trial. A failed request can be retried in the panel.
License renewal fetch (licensed installs). About once a day, a licensed App checks for its next-period license file at a unique, per-license address contained inside your license. This is a retrieve-and-apply operation: the host sees the per-license URL and normal connection metadata, including your IP address. Accepted signed files replace the expiring license on your device. Keys can also be entered manually. There is currently no settings toggle for automatic renewal checks; fully offline use requires a key without a renewal URL or network access being unavailable.
There is no license-validation server call. Licenses are signed offline credentials verified locally by the App against a public key built into it; whether your license is valid is answered on your machine, not by asking us.
3. Data we hold as a result
- License records: your name and email (read from Stripe to issue your license and embedded in the signed license file we deliver to you), license identifier, SKU, seat count, license serial number, expiry date, renewal address, and renewal history, with subscription and payment status held in Stripe. We keep these while your subscription is active and afterward for as long as needed for license support, fraud prevention, accounting, tax, and legal compliance.
- Trial usage record: pseudonymous machine marker, SKU, OS name, App version, usage counters, first/last report timestamps, and report count. Kept until you erase it (§2).
- Trial eligibility record: pseudonymous machine marker, trial start and end dates, and whether the trial has ended. Kept without a fixed end date, including after erasure, because its only purpose is to prevent the trial from being restarted on the same machine.
- Transient connection data: like any internet service, the licensing service sees your IP address when contacted. It uses the address only for abuse rate-limiting, in a counter that expires within one hour, and does not store it in trial or license records. We do not use connection data for profiling or marketing. Our infrastructure provider, Cloudflare, also processes connection data to operate and secure its network under its own policies.
4. Billing
Purchases are processed by Stripe, Inc. Stripe collects your name, email, billing address, and payment details under its own privacy policy. Through Stripe, Purfect Labs can see your name, email, billing address, and subscription and payment status, and uses your name, email, and order details for license delivery and support — never your full payment card number. License emails are sent from licenses@purfectlabs.com through Cloudflare's email service.
5. Website (purfectlabs.com)
- Forms and support. When you submit a contact, feedback, or support form, we receive the fields you provide (such as name, email, company, optional phone number, subject, and message) and use them to respond. Submissions are delivered to our team by email (Resend) and, when configured, internal Slack notifications. Support tickets sent through the licensing service's support form include the email, description, and edition/version/OS details you enter, plus the IP address the request came from.
- Analytics and cookies. The website supports PostHog page-view and selected link-click analytics, and Google Analytics and Google Tag Manager when configured. These may process browser identifiers, page URLs, referrers, device information, and interaction events and may use cookies or browser storage. The site also sets a 24-hour cookie to assign a homepage experiment variant. Vercel hosts the site and may log request information, including IP address and browser details, for hosting, security, and diagnostics.
- Website chat and meetings. Website chat messages are sent through our server to Anthropic's Claude to generate a response; contact details and conversation excerpts may be sent to our internal Slack workspace if you provide them or the conversation is handed to our team. Meeting bookings use Calendly. Website chat is separate from the App; do not submit passwords, API keys, or confidential files to it.
- Downloads. App release downloads are served from Cloudflare storage through our licensing service host. For each download we record aggregate statistics only — release version, file, platform, edition, and the country Cloudflare derives from the request — with no IP address and no identifier that links two downloads to a person. No account or email is required to download.
6. Sharing
We share personal data only with: the providers above (Stripe for billing; Cloudflare for licensing, downloads, and license email; Vercel, PostHog, Google, Anthropic, Calendly, Resend, and Slack for the website), professional advisers, and authorities where the law requires. We do not sell or rent personal data, and we have no advertising relationships.
7. Your rights
Depending on your jurisdiction (GDPR, UK GDPR, CPRA, PIPEDA, and similar), you may have rights to access, correct, delete, port, restrict, or object to processing of your personal data, and to withdraw consent. Write to shawn@purfectlabs.com; we respond within the time your law requires (for example, one month under the GDPR and 45 days under the CPRA). You may also complain to your supervisory authority. We do not discriminate for exercising rights. Note: most product data never reaches us (§1), so requests usually concern license, order, and website records only.
8. Security
License records are minimal by design. Signed license files are held in access-restricted Cloudflare storage so renewals can be delivered; each renewal address is an unguessable, single-purpose URL that can be retrieved only a limited number of times. The license-signing key is held as a Cloudflare Worker secret, never in source code. Transport is TLS. The most effective control is architectural: we cannot lose what we never receive.
9. Children
The App and site are not directed to children under 16, and we do not knowingly collect their data. If you believe a child provided personal data, contact us and we will delete it.
10. International transfers
Our providers, including Stripe and Cloudflare, operate primarily in the United States and may process license, billing, and website records there and in other countries where they operate. Where required, transfers rely on appropriate safeguards (e.g., Standard Contractual Clauses via the providers' data processing terms).
11. Changes
We will post changes here with a new effective date; material changes will be highlighted at the point of sale or in release notes.
Questions about this document?
shawn@purfectlabs.comTerms of Service · License Agreement (EULA) · Acceptable Use Policy · Refunds, Renewals & Cancellation · Disclaimers
All legal documents