Skip to content

website-privacykey

The privacykey organisation site — live at privacykey.org.

Project status Licence

Warning

Project status. The badge above is generated from the privacykey status list, which says what I promise for this project and every other one.


This site markets the privacykey family as a whole rather than a single product. The landing page states the org's four values and links the tools that have shipped so far:

Alongside the landing page the repo carries the org's public policy pages — privacy, open (the public analytics dashboard) and legal — plus robots.txt, sitemap.xml, llms.txt and an RFC 9116 security.txt.

It is hand-written static HTML, CSS and one JavaScript file. There is no framework, no bundler and no package manifest: what is committed is what is served.

Run it locally

just run

That is the only recipe in the justfile; it runs npx --yes wrangler pages dev . and serves the repository root. Serving from the root matters — site.webmanifest uses absolute paths (/en/), so a server rooted anywhere else will not match production. just --list prints the recipes.

Build and deploy

There is no build step. GitHub Pages serves main from the repository root, so merging to main is the deploy; the Pages origin is https://privacykey.github.io/website-privacykey/. Pages is configured to use 404.html as the custom 404 page.

The public hostname https://privacykey.org/ answers through Cloudflare and returns byte-identical content to the Pages origin. No CNAME file is committed — the domain is wired up outside this repository.

Where content and assets live

Path What it is
index.html Root splash. noindex; redirects to a locale from navigator.languages, with manual links as the no-JS fallback.
en/index.html The English landing page — hero, values, tools grid.
privacy.html, open.html, legal.html Policy pages, linked from every page footer.
assets/site.css All styling for the site.
assets/hero-rain.js The hero's binary-rain shader and cursor emitter. Bails out under prefers-reduced-motion and pauses when the tab is hidden.
assets/vendor/ Self-hosted Three.js plus its licence.
assets/fonts/ Self-hosted Inter, JetBrains Mono and Noto Sans SC, each with its OFL licence text.
assets/logos/, assets/icons/, assets/social/ Brand marks, the favicon and PWA icon family, and the 1200×630 social card.
llms.txt The preferred entrypoint for agents — kept current by hand when a tool ships.
robots.txt, sitemap.xml, security.txt, .well-known/security.txt Crawler rules, page index and disclosure policy.

Third-party code is vendored on purpose: the browser only ever talks to this origin, which keeps the Content-Security-Policy in each page's <head> tight and keeps the site's own privacy claim honest. assets/vendor/README.md has the steps for updating Three.js and the fonts.

Locales

Only en/ exists today. The root redirect, the hreflang tags and sitemap.xml all still point at /zh/ and /el/, and both currently return 404 — the nav's language switcher is commented out for that reason. Ship the directories before promoting those paths.

Licence

Apache-2.0 — see LICENSE.

The bundled fonts and Three.js keep their own licences (SIL OFL 1.1 and MIT respectively); each ships its licence text next to the files and they are listed on legal.html. Brand assets — the wordmark, the key icon and screenshots — are released under CC BY-NC 4.0, as stated on that same page.

About

privacykey website

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages