What we collect, why we collect it, who processes it, and the control you keep.
Last updated: June 13, 2026
BetterPixels holds very little about you: an email to sign in, a session to keep you signed in, and — when you buy credits — payment metadata via Stripe. This page explains what we collect, the processors we rely on, how long we keep things, and the rights you have under the GDPR.
Our stance
Minimal by design
Accounts are keyed on email alone — no name, no username, no profile. We collect what the service needs to run and to bill, and not much else.
No surveillance, no data sales
We don't sell or rent your data, run ad trackers, or build advertising profiles. Our analytics are cookie-free and aggregate.
Your images are yours
Sources you supply and results we cache are processed to provide the service, not to train public models on your content.
What we collect
Account information
Your email address, used to authenticate you, send service email, and contact you about your account. We store a hash of your password, never the password itself.
Session data
A session cookie keeps you signed in. It's HttpOnly, Secure in production, and SameSite=Lax. The session record lives in our Redis store and is invalidated server-side on logout and on password reset.
Image content
Images you upload in the Playground, and the remote sources you supply to the serve API, along with the upscaled results we cache so repeat requests are cheap. Cached results are content-addressed and shared across identical requests.
Payment metadata
When you buy credits, Stripe processes the payment. We receive and store billing metadata — a customer reference, plan, and transaction records — but not your full card number.
Technical and security data
IP address and basic request metadata seen during signup, login, and other authenticated actions, used for rate limiting, abuse prevention, and debugging. We use Cloudflare Turnstile on the auth forms to block automated signups; it returns a pass/fail signal, not a tracking profile.
How we use data
Run the service
Authenticate you, process and cache upscales, deliver content-addressed results, and keep your presets and account working.
Bill accurately
Meter unique transforms and process credit purchases through Stripe.
Secure the platform
Detect and prevent abuse, rate-limit the auth and trigger paths, and protect infrastructure. Security-relevant logs may contain IP and request metadata; legal basis: legitimate interest under GDPR Article 6(1)(f).
Communicate
Send transactional email — verification links, password resets, billing notices, and service messages — through our email provider. These are not marketing.
Processors we rely on
Stripe — payments
Processes credit purchases. Stripe receives the payment details directly; we store only billing metadata.
Resend — email
Sends our transactional email (verification, password reset, billing and service notices). Receives the recipient address and message content.
Cloudflare — edge, storage, and bot protection
Cloudflare provides DNS, a Tunnel that fronts our origin, Turnstile bot protection on the auth forms, and R2 object storage for cached image assets, served through unguessable content-addressed URLs.
RunPod — GPU compute
Runs the upscaling models. The worker receives image bytes to process and returns the result; it's a stateless transform and doesn't retain your images beyond the job.
Coolify — hosting
Orchestrates our self-hosted application and database infrastructure.
Legal requirements
We may disclose data where the law requires it, and will tell you where we're permitted to.
Retention and deletion
While active
We keep your account data while your account is active and for a reasonable period afterward for legal and accounting purposes.
Cached assets
Content-addressed results are cached to make repeat requests free. They're tied to the source and preset that produced them and are removed when no longer needed or on account deletion.
Security logs
Logs containing IP and request metadata are retained for a limited period for abuse prevention and then removed.
Account deletion
You can request deletion of your account and associated data. We honor GDPR erasure requests, subject to records we're legally required to keep (such as billing records).
Security
In transit
All traffic is served over TLS. The origin sits behind a Cloudflare Tunnel rather than a directly exposed host.
Sessions and cookies
Session cookies are HttpOnly, Secure in production, and SameSite=Lax. Session IDs are rotated on login and signup to defend against fixation, and a password reset invalidates every one of that account's sessions server-side.
Passwords
Stored only as a hash. We never see or store your plaintext password.
Bot protection
Cloudflare Turnstile guards the auth forms against automated abuse.
Your rights
GDPR rights
If you're in the EEA you have the rights to access, rectify, erase, restrict, and port your data, and to object to certain processing. We respond to verified requests within the timeframe the law requires.
How to exercise them
Email [email protected] from the address on your account. We may need to verify your identity before acting.
Complaints
You have the right to lodge a complaint with your local data protection authority. In France that's the CNIL.
Children
BetterPixels isn't intended for anyone under 16, and we don't knowingly collect data from children.
Cookies and transfers
Strictly necessary cookies
We use cookies to keep you signed in and to protect against cross-site request forgery. We don't use advertising or cross-site tracking cookies.
International transfers
Core data is held on EU-based infrastructure. Some processing — GPU compute on RunPod, and CDN delivery of cached assets — can occur outside the EU when you use those features.
Policy updates
We may update this policy as the product or our obligations change. We'll communicate material changes by email or in-product notice.