1. Who We Are and What This Policy Covers
1.1 WebberUI (webberui.com) is a React and Tailwind CSS UI component registry operated by Teyra LLC ("Teyra", "we", "us", "our"), a limited liability company formed in Wyoming, United States with its registered business address at 30 N Gould St Ste N, Sheridan, WY 82801, United States. For anything in this Privacy Policy, write to official@teyrallc.com.
1.2 This Privacy Policy (the "Policy") explains what personal data — information that relates to an identified or identifiable person ("Personal Data") — we collect, why we collect it, who sees it, and what you can do about it. It covers:
- the Site — webberui.com, including the documentation, component gallery, templates, composer, pricing, and account pages;
- the Registry API — the endpoints on webberui.com (such as
/r/*and/api/*) that deliver component source code, install tokens, search results, and the early-access email list; and - the CLI Tools — requests made to the Registry API by the
webberuiCLI or by our published npm package@webberui/mcp. These tools run on your own machine, make only the registry requests you ask them to make, and contain no analytics or tracking of their own.
1.3 This Policy does not cover third-party websites we link to, and it does not cover your own projects after you install our components into them — because once installed, our components send nothing anywhere (Section 3.7).
1.4 Companion documents: our Terms of Service, License Agreement, Cookie Policy, Refund & Billing Policy, and Subprocessors list. This Policy is the governing document for Personal Data.
2. The Short Version
We collect as little as we can get away with, and this Policy says exactly what that is:
- Browsing and installing free-tier components requires no account and no login. You can use most of WebberUI without ever telling us who you are.
- Our database stores the data needed to run the email list, saved workspaces and Pro entitlement system: voluntarily submitted email-list records, the billing email and Paddle identifiers we receive when you buy a Pro plan, internal account and subscription identifiers, hashed license credentials, and limited download-audit metadata, and workspace drafts you explicitly save. We do not store raw license keys, full card numbers, browser fingerprints, or IP addresses in those application tables.
- Sign-in (needed for Pro content) is handled by Clerk. We read from your account only what we need to check Pro access, and we never link your account to analytics.
- Usage analytics (PostHog and Google Analytics 4) run only after you consent, under random identifiers that are never linked to your account; PostHog session recording, autocapture, dead-click capture, and surveys are all switched off.
- Advertising (Google AdSense) is shown only to visitors who are not Pro subscribers. Pro subscribers see no ads and no advertising requests are made for them. Google may use cookies and similar identifiers to deliver and measure ads; in the EEA, the UK and Switzerland that is subject to Google's consent message (Section 3.10).
- We never sell, rent, or trade Personal Data — to anyone, at any price.
- Installed components never phone home. No telemetry, no runtime license checks, no kill switch, no expiry. Our servers going down does not affect your shipped product.
The rest of this Policy is the detailed version of those statements.
3. What We Collect, Why, and on What Legal Basis
This Section is organized by where the data comes from. For each source we state what is collected, what it is used for, and the legal basis we rely on under the EU General Data Protection Regulation ("GDPR") and the UK GDPR where they apply.
3.1 Account Data (Clerk)
3.1.1 You never need an account for the free tier. An account is required only to access Pro content — and to use account-linked features such as saved workspaces. Pro plans are sold through a paid checkout operated by Paddle (Section 3.8).
3.1.2 Authentication is provided by Clerk, our sign-in subprocessor (see /subprocessors). When you sign up or sign in, Clerk collects and processes your email address, basic profile information provided by you or by your single sign-on provider (such as your name and avatar), and authentication and session data, including Clerk's session cookies. The sign-in methods currently offered are configured in our Clerk dashboard: as configured on 2026-08-13, sign-up and sign-in are offered with an email address (verified by a one-time code or a verification link), a username, and a password. Third-party sign-in providers offered on the sign-in page (such as Google or GitHub) may also be available; if you use one, that provider shares with Clerk the account identifier and profile details you authorize. As configured on 2026-08-13, phone-number sign-in and passkeys were disabled. Clerk also stores an optional first and last name, which we never require.
3.1.3 What our application reads from your Clerk account is deliberately narrow:
- your user ID and, if you use a team, your organization ID;
- your plan entitlements (whether your account or organization has Pro access), including an administrator-set "pro" flag used for manually granted access;
- whether you are currently signed in; and
- your first name, shown in the account menu so you can see which account you are signed into.
When you buy a Pro plan, our checkout sends Paddle only your internal Clerk user ID (as checkout metadata); it does not prefill the checkout form with your Clerk email address. You enter your email address and payment details directly with Paddle, and Paddle then tells us the billing email you used. We store that billing email as described in Section 3.8.
3.1.4 What we deliberately do not do: we never call any analytics "identify" function on you. Your account identity is never connected to the analytics ID described in Section 3.3. We do not copy your Clerk profile into our database; we store only Clerk's internal user or organization identifier where needed to associate a subscription or license entitlement with the correct account. The only email address we store for a purchase is the billing email received from Paddle (Section 3.8).
3.1.5 Purposes. (a) Authenticating you and checking Pro entitlements when you view or install Pro content; (b) letting organization administrators manage team access; and (c) launch-related communications: the earlier free sign-in promotion has ended (see Terms of Service Section 6). If you created an account during that promotion, we may email you about paid plans and major product news; every such email will include a working one-click unsubscribe. You can opt out at any time by emailing official@teyrallc.com, and opting out never affects components you have already installed.
3.1.6 Legal bases. Performance of a contract (GDPR Art. 6(1)(b)) for authentication and entitlement checks; our legitimate interests in telling people who signed up for free Pro access about paid plans (Art. 6(1)(f)), or your consent (Art. 6(1)(a)) where applicable law requires it for the emails described above.
3.2 Early-Access Email List
3.2.1 The Site has offered a form for leaving your email address to be notified about the Pro launch. The form is currently closed: the endpoint returns a "temporarily unavailable" response and accepts no new addresses. Addresses are collected only when you actively submit the form — we never collect an email address any other way.
3.2.2 What is stored — exactly these fields, in our Cloudflare D1 database:
- your email address (lowercased);
- the page you submitted from (one of
homepage,pricing,docs,components,templates; anything else is recorded asunknown); and - a creation timestamp;
- the consent version you agreed to and the time of consent;
- the last-updated timestamp; and
- a status (new entries are
pendinguntil confirmed;unsubscribedif you opt out).
That is the entire record. We do not store your IP address or browser user agent in it, and the analytics event fired when you subscribe records only the page the form was on — never the email itself.
3.2.3 Anti-abuse: the endpoint uses a same-origin check, a hidden honeypot field, rate limiting, and Cloudflare Turnstile, a bot-detection challenge run by Cloudflare. When the Turnstile widget runs, Cloudflare receives challenge and browser signals and, when we verify the result, your IP address, under Cloudflare's own privacy terms; we do not store that data. A duplicate submission returns the same success response as a new one, so no one can use the form to test whether an address is on our list.
3.2.4 Purpose. One purpose only: notifying you about the launch you asked to hear about. Entries that are still pending are not used to send any email. We do not forward, sell, or use this list for any other marketing.
3.2.5 Legal basis. Your consent (GDPR Art. 6(1)(a)). You can withdraw it at any time by emailing us; deletions from this list are usually completed the same day, and we never ask why (Section 9).
3.3 Usage Analytics (PostHog, Google Analytics and Cloudflare Web Analytics)
3.3.1 We use PostHog, a product analytics service, loaded in your browser. If our PostHog key is not configured, the PostHog code is a complete no-op: nothing loads and no requests are sent. For visitors in every country, PostHog is a complete no-op until the visitor affirmatively allows usage analytics. First-time visitors are shown a consent prompt; a DNT or GPC signal is honored as a rejection without asking again.
3.3.2 When analytics is allowed, data is sent to PostHog's US-hosted cloud (see Section 7 on international transfers). PostHog stores a randomly generated pseudonymous ID in your browser's localStorage and in a cookie (see also our Cookie Policy). Because our code never calls PostHog's "identify" function, this ID is never linked to your account, your email, or any other identity. Your granted or denied choice is stored locally under a versioned key and can be changed from the Site footer; withdrawing consent stops capture and removes this PostHog project's identifiers.
3.3.3 What is deliberately switched off in our configuration:
- session recording / session replay — off;
- autocapture of clicks and form interactions — off;
- dead-click capture — off;
- surveys — off;
- no advertising pixels or ad-network data exchange of our own, and no cross-site profiling by us. Advertising shown to non-Pro visitors is delivered by Google AdSense, which is described separately in Section 3.10.
3.3.4 What is captured: manually sent pageviews (page path, referrer URL and referring domain, landing path), page-leave events, Core Web Vitals performance metrics (metric name, value, rating, and page path), and a fixed, closed list of named product events: pro_item_401, copy_install_command, component_view, composer_open, email_subscribe, pricing_view, pricing_scope_switch, checkout_click, promo_signup_click, promo_browse_click, doc_scroll_75, and web_vital. Event properties are limited to things like component or template slugs, page types, and pricing item slugs — not free-form content and never your email address.
3.3.5 Like any web request, requests to PostHog necessarily carry your IP address at the network level. Our code sets no additional IP-related options. As configured on 2026-08-13, our PostHog project does not have "Discard client IP data" enabled, which means PostHog stores the client IP address alongside each event for the retention period in Section 8.3. We are reviewing this setting; if we enable discarding, we will update this Policy and the Subprocessors list.
3.3.6 Purpose. Understanding, in aggregate, which components and pages are useful and how the Site performs, so we can improve it.
3.3.7 Legal basis. Your consent (GDPR Art. 6(1)(a) and applicable ePrivacy rules where they apply). We require prior consent for PostHog analytics in every country. You can reject or withdraw analytics at any time from the footer, and DNT/GPC is treated as an opt-out everywhere — see Section 10. Content blockers also work: the Site functions fully with analytics blocked, and we do not attempt to circumvent blockers.
3.3.8 Cloudflare Web Analytics. In addition to PostHog, our Cloudflare zone serves a Cloudflare Web Analytics beacon (static.cloudflareinsights.com/beacon.min.js) on page loads. It reports page performance and traffic measurements to Cloudflare over a first-party endpoint on our own domain (/cdn-cgi/rum).
3.3.9 It sets no cookies and no identifiers. Cloudflare Web Analytics is cookieless by design: it stores nothing in your browser, assigns you no identifier, and does not track you between sites or between visits. It measures page loads, not people. Other cookies, including Clerk, PostHog and Google cookies, are listed in the Cookie Policy (/cookies).
3.3.10 Legal basis, and how to stop it. Our legitimate interests (GDPR Art. 6(1)(f)) in knowing whether the Site is fast and reachable. Because the beacon is served by our hosting provider rather than by our application code, our Do Not Track and Global Privacy Control handling (Section 10) applies to PostHog and Google Analytics, not to this beacon. Content blockers do block it, and the Site works fully without it.
3.3.11 Google Analytics 4. We also measure page visits and traffic sources using Google Analytics, only after affirmative analytics consent in every country. The tag uses a pseudonymous browser identifier and processes page paths, referrer paths, and technical browser/device information. Our manually sent pageviews omit query strings and fragments and use page paths as titles. We do not send account IDs or email addresses. Depending on the enabled GA4 enhanced-measurement settings, Google may also collect scroll, outbound-click, site-search, video, download and form-interaction events. These automatic events may include page addresses, search terms and interaction metadata. Consent Mode v2 defaults analytics storage, advertising storage, advertising user data and advertising personalization to denied; allowing analytics grants only analytics storage. Google signals and advertising personalization are disabled in our tag. DNT/GPC blocks this analytics stream; withdrawing consent disables collection and removes its cookies. Cookie lifetime is configured to one year; event-data retention follows the GA4 property setting. Google may process data internationally; see https://policies.google.com/technologies/partner-sites and our Subprocessors list.
3.4 Server Logs (Cloudflare)
3.4.1 The Site and Registry API run on Cloudflare's network, which produces standard access logs: request time, path, response status, and coarse region. Our application also emits limited operational and security error events (for example, a payment-webhook failure code), but does not intentionally log raw license keys, payment credentials, webhook bodies, or email-list form contents. We deliberately refuse long-lived license keys in URLs specifically so they cannot end up in request logs (Section 3.5).
3.4.2 We do not match server logs to any identity. They are used only for debugging, security, and abuse prevention.
3.4.3 Log retention follows Cloudflare's platform policy. Retention is set by Cloudflare and is not configurable by us. On our current plan it is 7 days, which is also Cloudflare's maximum for Workers Logs.
3.4.4 Legal basis. Our legitimate interests (GDPR Art. 6(1)(f)) in keeping the Service secure and working.
3.5 Pro License Keys and Install Tokens
3.5.1 What we store. Long-lived Pro license keys are random strings. For database-backed keys, we store only a one-way SHA-256 hash of the key, never the raw key itself. A license record contains an internal license ID, status, source, optional expiry, last-used time, download count, and — where the key was issued for an account subscription — the associated Clerk user ID and Paddle subscription ID. Legacy manually configured keys may be held in the hosting platform's secret store during migration.
3.5.2 Limited download audit. For a successful database-backed license-key download, we record the internal license ID, the requested registry scope (for example, a component JSON filename), and the download timestamp. This lets us investigate abuse and revoke a compromised key. We do not record the raw key, the contents of your project, or files on your computer. Because a subscription-issued license can be associated with a Clerk user ID, this audit data may be linked to that account.
3.5.3 Your key is sent only as an Authorization header when the webberui CLI or the @webberui/mcp package downloads Pro content from our registry. Keys presented in URLs are deliberately rejected so they cannot leak into server or CDN logs.
3.5.4 Copy-paste install links use a separate mechanism: a cryptographically signed token that is valid for at most 15 minutes, restricted to a single resource, and verified statelessly — the token itself is not stored. Responses that involve keys or tokens are marked non-cacheable (private, no-store), and our referrer policy is configured so tokens do not leak into outbound Referer headers.
3.5.5 Pro source code you download is stamped with a visible license header containing the component name, target path, retrieval date, and license URL — never your identity. The header is informational, executes nothing, and can be deleted without any effect (see /license).
3.5.6 Purposes and legal bases. Performance of a contract (GDPR Art. 6(1)(b)) for delivering content and administering your entitlement; our legitimate interests (Art. 6(1)(f)) in preventing credential abuse, investigating failed delivery, and revoking compromised keys.
3.6 Data That Stays in Your Browser
3.6.1 Several features store data only in your browser's localStorage. None of it is uploaded; we have no server-side copy:
- saved (favorited) components and templates;
- your custom Theme Studio tokens, unless you explicitly save a cloud draft as described below;
- your light/dark theme preference; and
- minor UI state (such as a dismissed demo banner).
3.6.2 Props Playground settings exist only in memory while the page is open and disappear when you close it — they are not stored anywhere, not even in localStorage.
3.6.3 You control this data: the settings page at /account/settings includes a one-click "clear saved items" option, and your browser's own storage controls remove everything.
3.6.4 Because this data never reaches us, it is not processing of Personal Data by us; we describe it here for completeness and honesty.
3.6.5 Optional cloud drafts. When an eligible signed-in user chooses Save in Composer or Theme Studio, we store the selected component identifiers or theme settings, Clerk user ID, revision and update timestamp in Cloudflare D1. We keep one current draft per tool and account to provide save and restore functionality. Unsaved edits remain in your browser. This processing is necessary to provide the requested feature (performance of a contract). Drafts are not shared with other users or used to identify you in analytics. You may request deletion by emailing official@teyrallc.com.
3.7 Installed Components: Nothing
3.7.1 This is a core promise of the product, and it is a privacy promise too: components installed into your project contain no telemetry, no phone-home, no runtime license verification, no remote kill switch, and no expiry. They make no network requests to us — ever. Nothing about you or your end users flows back to WebberUI from code you have installed.
3.7.2 This promise appears in our License Agreement and Terms of Service as well, and this Policy restates it: an outage or shutdown of webberui.com has no effect on components already in your projects.
3.8 Payment and Billing Data (Paddle)
3.8.1 Pro plans (a 3-day pass, a monthly plan and an annual plan) are sold through Paddle.com Market Limited ("Paddle"), which acts as merchant of record. At checkout you give your payment and billing details directly to Paddle, which processes them under its own terms and privacy notice for payment, tax, fraud-prevention and similar merchant-of-record purposes. We never see or store full card numbers. Paddle.js, Paddle's checkout script, is loaded only on the checkout page (see the Cookie Policy).
3.8.2 What we receive and store. Paddle notifies us of purchases, renewals, cancellations and refunds. In Cloudflare D1 we store: the billing email Paddle reports for the customer; Paddle customer, subscription and transaction IDs; your Clerk user ID (taken from the checkout metadata we sent); the plan or price, status, period start and end dates, and any scheduled change or cancellation; the transaction currency, total, invoice number and completion time; checkout-intent records (transaction ID, Clerk user ID, price ID, plan, creation time); refund or reversal markers; and webhook event IDs used to avoid processing the same notification twice.
3.8.3 Purposes and legal bases. Fulfilling your purchase and administering your Pro entitlement, providing support, processing refunds, and keeping tax, accounting and dispute records. Legal bases: performance of a contract (GDPR Art. 6(1)(b)), compliance with legal obligations (Art. 6(1)(c)), and our legitimate interests in preventing fraud and resolving disputes (Art. 6(1)(f)). Retention is described in Section 8.6.
3.9 Summary Table
| Source | Personal Data | Purpose | Legal basis (GDPR) |
|---|---|---|---|
| Account (Clerk) | Email, name/avatar, sign-in and session data; app reads user/org ID, entitlements, first name | Sign-in, Pro entitlement checks, launch communications | Contract; legitimate interests or consent (launch emails) |
| Early-access list (form currently closed) | Email, source page, consent version and time, created/updated timestamps, status — nothing else | Launch notification only | Consent |
| Usage analytics (PostHog) | Random ID, pageviews, fixed event list, Web Vitals; IP at network level | Aggregate product improvement | Consent |
| Usage analytics (Google Analytics 4) | Pseudonymous browser ID, page and referrer paths, browser/device data, enhanced-measurement events | Traffic and audience measurement | Consent |
| Bot protection (Cloudflare Turnstile) | Challenge and browser signals and IP address, handled by Cloudflare when the early-access form widget runs; we store none of it | Abuse and bot prevention | Legitimate interests |
| Billing (Paddle) | Billing email; Paddle customer, subscription and transaction IDs; Clerk user ID; plan, status, period dates, amount, invoice number. Card and payment details stay with Paddle | Fulfilment, entitlement, support, refunds, tax and accounting records | Contract; legal obligation; legitimate interests |
| Server logs (Cloudflare) | Time, path, status, coarse region | Security, abuse prevention, debugging | Legitimate interests |
| License entitlements / keys / tokens | Clerk and Paddle identifiers where applicable; one-way key hash; status, expiry, last use and download count; successful download scope and time. Raw keys and token values are not stored | Content delivery, entitlement administration, credential-abuse prevention | Contract; legitimate interests |
| Advertising (Google AdSense) | Data Google collects directly from your browser when an ad is requested (IP address, browser and device data, page address, advertising cookies or identifiers). We receive none of it | Showing and measuring ads on the free tier; fraud prevention | Consent where Google's consent message applies; otherwise legitimate interests (funding the free tier) |
| Browser-only data | Stays on your device; never sent to us | Your convenience | Not processed by us |
| Installed components | Nothing, ever | — | — |
3.10 Advertising (Google AdSense)
3.10.1 Some pages (currently documentation pages) show ads served by Google AdSense — Google LLC, or Google Ireland Limited for visitors in the EEA, the UK and Switzerland. Ads are shown only to visitors who are not Pro subscribers. They are not loaded for signed-in Pro subscribers, nor while we cannot yet confirm a signed-in visitor's plan.
3.10.2 When an ad is requested, your browser connects directly to Google. Google receives your IP address, browser and device information and the address of the page, and may read or set cookies or similar identifiers to select, deliver and measure ads and to protect against invalid traffic. We do not receive that data, and we send Google no account identifier, analytics identifier or email address. Google acts as an independent controller for this processing under its own terms; see https://policies.google.com/technologies/partner-sites.
3.10.3 In the EEA, the UK and Switzerland, Google's consent message asks for your choices before cookies or identifiers are used for personalised ads or ad measurement. This is separate from our analytics prompt (Section 3.3): rejecting one does not affect the other.
3.10.4 Your choices. Manage ad personalisation at https://adssettings.google.com/, use your browser's cookie controls or a content blocker (the Site works with ads blocked), or subscribe to Pro, which removes ads.
4. What We Never Do
4.1 To make the promises above bindingly explicit, we do not:
- sell, rent, or trade Personal Data — to anyone, at any price;
- run advertising pixels of our own, send ad networks any data about you, or build cross-site profiles (the Google AdSense ads described in Section 3.10 are the one exception to third-party ad delivery, and they operate under Google's own terms);
- collect your email address without you actively submitting it (to us, to our sign-in provider, or to Paddle at checkout);
- link your account identity to analytics;
- record your sessions or capture your interactions wholesale;
- put any reporting, tracking, or phone-home mechanism inside installed components; or
- use retention flows or other dark patterns to delay or discourage deletion requests.
5. Cookies and Similar Technologies
5.1 The Site uses four categories of cookies and local storage: Clerk session cookies (strictly necessary for sign-in, set only when authentication is enabled); the PostHog analytics cookie and localStorage entry carrying the random ID described in Section 3.3; Google Analytics cookies (_ga and a property-specific _ga_ cookie), set only after you allow analytics; and Google advertising cookies and similar identifiers, set by Google rather than by our code, only when an ad is shown to a non-Pro visitor (Section 3.10). Our own application code sets no cookies of its own. Pro subscribers receive no advertising cookies. Separately, our hosting provider Cloudflare could set strictly-necessary operational cookies at the network edge, but as configured on 2026-08-13 it does not: Bot Fight Mode is off and we subscribe to no bot-management product, so no __cf_bm cookie is set. On the checkout page, Paddle.js is set up and used by Paddle under Paddle's own policy as strictly necessary for payment. See the Cookie Policy for details.
5.2 The full inventory, lifetimes, and your choices are described in the Cookie Policy.
6. Who We Share Personal Data With
6.1 Subprocessors only. We share Personal Data only with the service providers that run the Service for us: Cloudflare (hosting, database, storage, logs, and Turnstile bot protection), Clerk (authentication, including the third-party sign-in provider you choose, if any), PostHog (analytics), Google (Google Analytics 4, after you consent), and Paddle.com Market Limited (merchant of record: it collects your payment details at checkout and sends us the billing email and transaction details described in Section 3.8). Separately, when an ad is shown to a non-Pro visitor, your browser exchanges data directly with Google (AdSense); we do not control that processing and send Google no personal data of our own (Section 3.10). Notification and transactional emails will be sent via a provider we have not yet selected — see /subprocessors. The current list, each provider's role, and locations are maintained at /subprocessors, which we will update before adding any new provider.
6.2 Legal requirements. If we are legally compelled to disclose Personal Data (for example by a valid court order), we will disclose only the narrowest scope required, and — unless the law prohibits it — we will tell you.
6.3 Business transfers. If Teyra LLC is ever acquired or its assets transferred, Personal Data would remain subject to the promises in this Policy, including the promise in Section 4.1 never to sell, rent, or trade it.
6.4 That is the complete list. There is no "including but not limited to" here.
7. International Transfers
7.1 The Site is served through Cloudflare's global network. Our early-access email list is stored in Cloudflare D1. We have not configured a jurisdiction restriction on that database. A D1 jurisdiction (such as eu) can only be set when the database is created and cannot be changed afterwards; ours was created without one, so Cloudflare selects and may change the primary location. We therefore do not promise that this data stays in any particular country or region, and transfers are covered by the safeguards described in Section 7.3.
7.2 PostHog analytics data is processed on servers in the United States, and account data is processed by Clerk in the United States. Google Analytics and AdSense data is processed by Google in the United States and other countries where Google operates. Paddle processes checkout and billing data in the United Kingdom and the United States.
7.3 If you are in the European Economic Area, the United Kingdom, or Switzerland, transfers to the United States rely on appropriate safeguards. PostHog and Clerk, Inc. self-certify under the EU-U.S. Data Privacy Framework, the UK Extension, and the Swiss-U.S. Data Privacy Framework. For Google and Paddle we rely on the transfer mechanisms each publishes in its own terms (such as Data Privacy Framework certification or standard contractual clauses). You can request a copy of, or more information about, the applicable safeguard at official@teyrallc.com.
7.4 For users in Taiwan: the cross-border transfers described in this Section are exactly the ones that occur; there are no undisclosed overseas transfers.
8. How Long We Keep Personal Data
8.1 Account data — for as long as your account exists. Ask us by email to delete your account and its data at any time (Section 9).
8.2 Early-access email list — the form is closed. Entries that are still pending (unconfirmed) are deleted by January 31, 2027. If we send the one-off launch notice described in Section 3.2 to confirmed entries, those entries are deleted within 90 days after it is sent (the 90 days let us re-send once if it was filtered as spam). Deletion on request is available at any time and is usually completed the same day.
8.3 Analytics — retained in PostHog for 1 year, per our project's data-retention setting.
8.4 Server logs — retained per Cloudflare's platform policy (see Section 3.4.3).
8.5 Cloud drafts — retained while your account exists or until you request deletion. Browser-only data — entirely under your control; it lives in your browser until you clear it.
8.6 Subscription and license records — kept while needed to administer an active entitlement and afterward for the limited period reasonably necessary to resolve billing, fraud, security, tax, or legal disputes. A deletion request covers account-linked license and download-audit records unless we must retain a specific record by law or to establish or defend a legal claim. Billing records (Section 3.8.2) are kept while your account or subscription is active and afterward as long as tax, accounting and dispute rules require, typically up to 7 years. Install tokens expire within 15 minutes and are not stored.
9. Your Rights
9.1 Everyone, Everywhere
9.1.1 Regardless of where you live, you can email official@teyrallc.com (suggested subject line: "Privacy request") to: access the Personal Data we hold about you, receive a copy of it, correct it, or delete it. You never have to give a reason, we never use retention flows to talk you out of it, and there is no charge.
9.1.2 We will act promptly; deletions from the early-access email list are usually completed the same day. To protect you, we may first verify that you control the relevant email address or signed-in account before disclosing or deleting account-linked subscription, license, or download-audit records.
9.2 European Economic Area and United Kingdom (GDPR / UK GDPR)
9.2.1 If the GDPR or UK GDPR applies to you, you additionally have the rights to: restrict processing, object to processing based on legitimate interests (including objecting to direct marketing at any time, which we will always honor), data portability, and to withdraw consent at any time without affecting prior processing.
9.2.2 You also have the right to lodge a complaint with your local supervisory authority, or with the UK Information Commissioner's Office. We would appreciate the chance to resolve any concern first, but you do not need our permission to complain.
9.2.3 We do not use Personal Data for automated decision-making that produces legal or similarly significant effects.
9.3 California (CCPA / CPRA)
9.3.1 In the 12 months preceding the date of this Policy, we collected the following categories of personal information: identifiers (email address, including the billing email received from Paddle; name and account ID if you create an account); commercial information (plan purchased, subscription status, transaction and invoice references, amounts; card details stay with Paddle); internet or other electronic network activity (pageviews, the fixed product-event list in Section 3.3, coarse server logs); and approximate location at country/region level only, derived from IP addresses by our infrastructure providers. Sources and purposes are as described in Section 3; disclosures are limited to the service providers in Section 6. Retention for each category follows Section 8: identifiers in account data are kept for as long as your account exists (Section 8.1); early-access list entries as described in Section 8.2; analytics data for 1 year under our PostHog project's data-retention setting (Section 8.3); server logs per Cloudflare's platform policy, which on our current plan is 7 days and is not configurable by us (Section 8.4); and billing records as described in Section 8.6.
9.3.2 We do not sell personal information. Ads shown to non-Pro visitors are delivered by Google AdSense, which collects data directly from your browser (Section 3.10). We provide Google with no personal information of our own, but that collection may be treated under California law as "sharing" for cross-context behavioral advertising. The Site showed no third-party advertising before October 14, 2026. We do not use or disclose sensitive personal information for purposes that would trigger a right to limit; sign-in credentials are processed by our authentication provider, and we never see passwords.
9.3.3 You have the rights to know/access, correct, delete, and port your personal information, and the right not to be discriminated against for exercising any right. Exercise them by emailing official@teyrallc.com. An authorized agent may act for you if we can reasonably verify the request. You can opt out of the "sale" or "sharing" of personal information for advertising in three ways: by sending a Global Privacy Control signal, which we treat as that opt-out for Google ads as well as for analytics (Section 10); through the "Do not sell or share my personal information" choice in Google's US state regulations message, where Google shows it; or at https://adssettings.google.com/. A Pro subscription removes ads entirely.
9.3.4 Notice at collection. Sections 2, 3 and 9.3 of this Policy serve as our notice at collection under the CCPA/CPRA: they state the categories of personal information we collect, the purposes, and how long we keep them.
9.4 Taiwan (Personal Data Protection Act)
9.4.1 If Taiwan's Personal Data Protection Act (個人資料保護法) applies to you, you may exercise the rights under its Article 3 with us at any time: to inquire about and review your Personal Data, to obtain a copy, to supplement or correct it, to demand that we cease collecting, processing, or using it, and to demand deletion. We provide all of these free of charge, by email to official@teyrallc.com.
10. Do Not Track and Global Privacy Control
10.1 If your browser sends a Do Not Track (DNT) signal or a Global Privacy Control (GPC) signal, we treat it as an opt-out of analytics for that browser.
10.2 GPC is also recognized as an opt-out preference signal under California law and similar US state laws. Besides disabling analytics, a GPC signal makes our pages tell Google not to use ad user data or personalise ads for that browser (Consent Mode ad_user_data and ad_personalization denied, and AdSense non-personalised ad requests); ads may still be shown, but they are not personalised.
10.3 Content blockers that block analytics do not break the Site, and we do not attempt to detect or circumvent them.
11. Children
11.1 The Service is not directed at children under 13, and we do not knowingly collect Personal Data from them. If you believe a child under 13 has given us Personal Data, email official@teyrallc.com and we will delete it.
12. Security
12.1 What we actually do, stated without inflation:
- all traffic is encrypted in transit (HTTPS, with HTTP Strict Transport Security);
- security headers restrict framing, MIME-sniffing, and browser access to camera, microphone, geolocation, and payment APIs;
- authenticated and tokenized responses are marked non-cacheable so they cannot be served to anyone else;
- Pro source code lives in a private storage bucket that is never publicly accessible;
- secrets (license keys, signing secrets, API keys) are held in the hosting platform's secret store, never in code or the repository;
- install tokens are cryptographically signed, single-resource, and expire within 15 minutes; and
- we never store passwords — authentication is handled entirely by Clerk.
12.2 We minimize application data structurally: we do not store passwords, raw database-backed license keys, full card numbers, browser fingerprints, or project contents. The records we do keep are limited to the email-list, billing and entitlement, hashed-key, webhook-deduplication, and download-audit fields described in this Policy. Data that is never collected cannot be breached.
12.3 Honesty requires saying this too: no internet service can promise perfect security. If a breach affecting your Personal Data ever occurs, we will notify you and the competent authorities as applicable law requires.
13. Changes to This Policy
13.1 When we change this Policy, we update the date at the top. Material changes will be flagged prominently on the Site.
13.2 A standing promise, carried over from the first version of our privacy page: if a change affects how we use email addresses — whether the early-access list or account emails — we will notify the affected people by email before the change takes effect, not just silently edit this page.
14. Contact
14.1 Teyra LLC — official@teyrallc.com. This is our only official channel for privacy requests. WebberUI also operates accounts on X, Threads and Instagram under the team name; please do not send privacy requests or personal data through direct messages there, as we may not see or be able to verify them.
14.2 For data-subject requests, the suggested subject line is "Privacy request". For everything else, plain language is fine — a human reads this inbox.
14.3 EU/UK representative. We have not currently appointed a representative under GDPR Article 27 or the UK GDPR. If applicable law requires us to have one, we will appoint a representative and name them here. You can reach us directly at official@teyrallc.com in the meantime, and we answer data-subject requests from anywhere.
15. Notice for users in Taiwan (個人資料保護法第 8 條告知事項)
本告知事項依個人資料保護法(下稱「個資法」)第 8 條提供。本節為方便臺灣使用者閱讀之中文說明;本政策以英文版為準,兩者不一致時依英文版。
15.1 蒐集者名稱:Teyra LLC(美國懷俄明州有限責任公司),營運 WebberUI(webberui.com)。聯絡信箱:official@teyrallc.com。
15.2 蒐集目的:帳號註冊與登入驗證;判定與管理 Pro 使用權限及授權金鑰;處理購買、續訂、退款,並保存稅務與會計紀錄;客戶服務;網站營運、資訊安全與防止濫用;經您同意後進行使用情形分析;向非 Pro 訪客顯示廣告(由 Google 直接蒐集);寄送上市通知(早鳥名單,表單目前已關閉)。
15.3 個人資料類別:識別類,如電子郵件、姓名、使用者帳號識別碼;帳務類,如 Paddle 客戶、訂閱及交易編號、付款方案、狀態、期間、金額與發票編號(完整卡號由 Paddle 處理,我們不取得);網路活動類,如頁面瀏覽、事件紀錄、伺服器紀錄、粗略地區及隨網路連線傳送的 IP 位址;您主動儲存的雲端草稿。
15.4 利用期間:帳號資料於帳號存續期間;帳務紀錄於帳號或訂閱存續期間及其後稅務、會計與爭議處理所需期間(通常最長 7 年);分析資料 1 年;伺服器紀錄 7 天;尚未確認的早鳥名單於 2027 年 1 月 31 日前刪除。詳見英文版第 8 節。
15.5 利用地區:美國及全球各地(Cloudflare 全球網路、Google 全球基礎設施);Clerk、PostHog 位於美國;Paddle 位於英國及美國。我們未限定資料庫所在地區。
15.6 利用對象:Cloudflare、Clerk、PostHog、Google、Paddle 等協助我們提供服務的業者(清單見 /subprocessors),以及依法有權調閱之機關。我們不出售、出租或交換個人資料。
15.7 利用方式:以電子方式處理與儲存於雲端系統,僅限於上述目的所必要之範圍。
15.8 您得行使之權利:依個資法第 3 條,您得向我們請求查詢或閱覽、請求製給複製本、請求補充或更正、請求停止蒐集、處理或利用,以及請求刪除您的個人資料。請寄信至 official@teyrallc.com(主旨建議填寫 "Privacy request"),我們不收費;為保護您,我們可能先確認您確為該電子郵件或帳號之持有人。
15.9 不提供資料之影響:瀏覽網站與使用免費元件不需要提供個人資料。若不提供電子郵件或登入資料,將無法建立帳號;若不提供結帳資料,將無法購買或使用 Pro 內容。拒絕分析或廣告相關 cookie 不影響網站功能。