Privacy Policy
Last updated 2026-04-29. Operator: Ross Shannon (Dublin, Ireland).
1. Who we are
Everyframe is operated by Ross Shannon, a sole trader based in Dublin, Ireland. The registered operating address is [OPERATOR_ADDRESS].
For any privacy question, you can reach us at [email protected].
This policy describes how we handle personal data when you use the Everyframe website, Chrome extension, and rendering service. It is written to meet our obligations under the EU General Data Protection Regulation (GDPR) and Irish data protection law. We are the data controller for the personal data described below.
2. What we collect
2.1 Account data
We use Clerk to handle sign-up and sign-in. Clerk stores your email address and an authentication identifier on our behalf. We receive the same email address and a Clerk user ID, which we link to an internal user record.
If you sign in with a third-party identity provider (for example Google), Clerk receives the basic profile information that provider returns. We only see the email address and the user ID.
2.2 Billing data
Paid subscriptions are processed by Stripe. Stripe collects and stores your card details, billing address, and any tax identifiers you provide. We never see, transmit, or store full card numbers.
We receive a Stripe customer ID, the subscription status, the plan, and high-level billing events (such as renewals and cancellations) so we can give you the right level of service.
2.3 Image submissions
When you submit an image to be animated, the image is held briefly in memory in our Cloudflare Workers proxy and forwarded to Modal for GPU processing. The resulting MP4 is streamed back to your browser.
We do not write the source image or the generated MP4 to disk, and we do not retain either after the response is delivered. We do not use your images to train models.
For audit and abuse-detection purposes, we compute and store a SHA-256 hash of the source image. The hash is a one-way fingerprint and cannot be used to reconstruct the image.
2.4 Render audit log
For each render request we keep a row in our render audit log containing: the SHA-256 hash described above, the render parameters you chose (preset, motion intensity), timing data such as queue and processing latency, the success or failure outcome, any moderation result, your Clerk user ID, and your internal user ID.
We use this log for billing reconciliation, debugging, capacity planning, and detecting abuse.
2.5 Content moderation signals
Every uploaded image is scored by a Cloudflare Workers AI classifier that estimates whether the image is sexually explicit content (NSFW) or likely to depict a minor. We store the classifier scores and the resulting accept or refuse decision against the audit log entry. The image itself is not retained.
2.6 Analytics
We use PostHog for product analytics and session replay. PostHog records page views, sign-up funnel steps, render-success and render-failure events, button clicks, and a recording of your interactions within the Everyframe webapp.
We use this information to understand how the product is used and to fix bugs. You can opt out by enabling Do Not Track in your browser, by blocking the PostHog domain, or by emailing [email protected] and asking us to suppress analytics on your account.
2.7 Cookies and similar technologies
We set a small number of cookies. Clerk sets a session cookie that is strictly necessary to keep you signed in. PostHog sets an analytics cookie used to recognise returning visitors and to associate session-replay recordings with the same anonymous identifier.
We do not use advertising cookies. We do not sell data to ad networks.
3. Why we collect each thing (lawful basis)
Under Article 6 of the GDPR, we rely on the following lawful bases:
- Performance of a contract — for account data, billing data, image submissions, and the render audit log. We need this data to provide the service you have asked us to provide.
- Legitimate interests — for the render audit log (billing reconciliation, debugging, abuse detection) and for content moderation signals (preventing illegal or harmful uses of the service). We have weighed these interests against your rights and consider them proportionate.
- Consent — for non-essential analytics and session replay. You can withdraw consent at any time using the methods described above.
- Legal obligation — where we are required to retain records (for example tax records related to billing).
4. Subprocessors
We rely on the following subprocessors to operate Everyframe:
| Subprocessor | Purpose |
|---|---|
| Clerk | Authentication and identity |
| Stripe | Subscription billing and payment processing |
| Cloudflare | Hosting, CDN, the D1 database that holds the render audit log, and Workers AI for content moderation |
| Modal | GPU compute for the LivePortrait animation model |
| PostHog | Product analytics and session replay |
We will update this list when we add or change subprocessors.
5. Retention
The render audit log is kept indefinitely. Each row is small and we use it for billing reconciliation and long-term abuse detection.
Your account record is kept for as long as your account is active. When you ask us to delete your account, we delete your user row, cascade-delete any extension tokens, and anonymise your render audit log entries by setting the user ID to NULL. We complete this within 30 days of your request.
Stripe and Clerk apply their own retention rules to the records they hold as subprocessors.
6. Your rights
If you are in the European Economic Area or the United Kingdom, you have the following rights under GDPR:
- Right of access — to a copy of the personal data we hold about you.
- Right to rectification — to have inaccurate personal data corrected.
- Right to erasure — to have your personal data deleted, subject to legal exceptions.
- Right to restriction of processing — to limit how we use your data in certain situations.
- Right to data portability — to receive a copy of your data in a portable format.
- Right to object — to object to processing based on legitimate interests, and to object at any time to processing for direct marketing.
- Right to withdraw consent — where we rely on consent, you can withdraw it at any time.
- Right to lodge a complaint — with the Irish Data Protection Commission (dataprotection.ie) or the supervisory authority in your country of residence.
7. How to exercise your rights
Email [email protected] from the address registered to your account. We will respond within 30 days. We may ask for additional information to verify your identity before acting on a request.
8. Cookie policy
We treat this section as our cookie policy. The cookies we set fall into two groups.
Strictly necessary. Clerk session cookies. These keep you signed in and cannot be disabled while using the signed-in parts of the site.
Analytics. A PostHog analytics cookie, used to associate page views and session replays with the same anonymous identifier. You can opt out using the methods described in section 2.6.
9. Children
Everyframe is not intended for children. We do not knowingly collect personal data from anyone under 16. Any uploaded image that our content classifier identifies as likely to depict a minor is refused at upload and is not processed.
If you believe a child has created an account, contact us and we will delete the account.
10. International transfers
Cloudflare, Stripe, Clerk, Modal, and PostHog are organisations based in or operated from the United States. Personal data may therefore be transferred to and processed in the United States.
We rely on the European Commission's Standard Contractual Clauses, supplemented where applicable by the EU–US Data Privacy Framework, as the transfer mechanism for these subprocessors.
11. Updates to this policy
We may update this policy from time to time. For material changes we will notify registered users by email at least 14 days before the change takes effect. Minor or clarifying changes will be reflected by updating the "Last updated" date at the top of this page.
12. Effective date
This policy is effective from 29 April 2026.