privacy policy
glslop collects about as little as a site can. No password, no email account, no ad trackers, no analytics SDKs. We use OAuth so we never see your password, and any LLM API key you bring stays inyour browser — it is never sent to our server. Last updated September 13, 2026.
what we collect
- Account: the identifier your OAuth provider (GitHub or Google) gives us — a provider name plus an opaque account id — the handle you choose, and anything you optionally add (a shortbio and custom profile CSS). That's the whole account record.
- What you post: shaders (ISF source), titles, tags, the poster image rendered in your browser, lineage/provenance, and "slops" (likes). All posted content is CC0 — see permanence below.
- Counts: aggregate view / slop / fork tallies per shader.
- API keys: if you make one, we store only a hash of it — we can't recover the key itself.
- Usage events (aggregate): coarse, non-identifying signals — that a generate / app-run / search happened, which model or provider, token counts, success, duration. We never store your prompts, your keys, the text you searched, or generated source. This is the privacy chokepoint, by design.
- Page counts (aggregate): a per-day tally of how many times each kind of page was opened —
/shader/:id, not which shader — plus the bare host anything linked in from (google.com, never the search terms or the URL). Counters only: no cookie, no identifier, no per-visit row, and nothing finer than the calendar day, so there is no unique-visitor or session figure here and no way to reconstruct one. - Shader performance (aggregate): when a shader page renders, your browser reports how long that shader took to compile, roughly what frame rate it hit, and a coarse hardware bucket(e.g.
apple-silicon/metal). The detailed driver string your GPU exposes is classified in your browser and never sent — the bucket is one of about fifteen fixed labels. The report adds 1 to a daily histogram — "one moreintel-iriscompile in the 300–500ms band" — rather than creating a per-visit record. It is not attached to an account or session and has no timestamp finer than the calendar day. We honor Do Not Track and Global Privacy Control and skip the measurement entirely. It exists so we can tell which shaders are too slow or outright broken on hardware we don't own. - GPU check: the optional quick check at
/gpu-check/runs its small rendering fixtures locally in your browser. It does not automatically send its result, and it does not change which renderer the site uses. It shows a copyable report so you can choose how to share it. - WebGPU test reports you choose to send: if you opt into the experimental WebGPU renderer in settings, a shader page's WebGPU panel and the long
/gpu-corpus/test each have asend to glslop button. Nothing is sent until you press it. What goes over is exactly the report the page shows you first: timings, pixel-comparison statistics per shader, the render size, whether the shader ran from our reviewed translation or one your browser made itself, your browser's user-agent string, the GPU adapter description your browser exposes to WebGPU (for examplenvidia ampere) and the WebGL2 renderer string, plus any note you typed. Because this is you handing us a measurement of your machine on purpose, it is attached to your account so we can follow up. No shader source, no screenshots, no other pages, and the report never leaves your browser if you use copy or download instead. - Network: your IP address is used transiently to rate-limit abuse and to bump a humans-vs-bots hit counter. We don't build per-user IP logs.
- Cookie: one — an
httpOnlysession cookie so you stay logged in. No tracking cookies.
what we DON'T collect
No password (OAuth only). No email address for your account. No third-party analytics and no ad networks — nothing here loads a script from anyone else, and there is no Umami, Plausible, or GA on this site. No raw hardware fingerprint is stored: the one hardware signal we read automatically is reduced to a coarse bucket in your browser before it is sent, and it is stored unattached to any account (the WebGPU reports above are the exception, and only when you press send). And your BYOK LLM key never touches our server — it lives only in your browser's local storage on this origin, and your browser calls your AI provider directly.
who else sees data
- OAuth providers (GitHub / Google) — when you log in, under their own policies.
- Cloudflare — sits in front as CDN / proxy and necessarily processes requests + IPs.
- Our host — a US VPS where the app + database run.
- Discord — internal operational pings (a new signup, a flag, a contact-form message) post to a private channel and may include your handle and whatever you typed into the contact form.
- External image hosts — if you (or an app) hotlink an image via profile CSS or app markup, your browser fetches it directly, which reveals your IP to that host. That's inherent to hotlinking; we don't proxy it.
We don't sell or share personal data. We may publish or sellaggregate, non-identifying statistics (e.g. "which models are popular") — never anything tied to you.
CC0 is permanent
Everything you post is dedicated to the public domain (CC0) the moment you submit it, and that dedication is irrevocable: deleting a post or your whole account does not pull the content back out of the commons or out of any public dumps already made. Deleting your account removes the account record and de-associates it (a "tombstone"), but copies others already took remain theirs. Don't post anything you aren't willing to release forever.
your choices
- Edit your bio + profile CSS any time in settings.
- Delete your account — email [email protected] or use thecontact form. (Your CC0 content stays CC0; see above.)
- Ask what we hold about you, or raise any privacy concern, the same way.
Data is stored in the United States. glslop isn't directed at children under 13.
changes
If this policy changes we'll update the date above. Questions →[email protected] or the contact form. See also the terms of use.