---
title: "Standing on open shoulders"
url: "https://consenttheater.org/acknowledgements"
description: "ConsentTheater is built on top of a lot of high-quality open-source work. This page lists the projects and people we rely on, with licenses and links."
---

Acknowledgements

# Standing on open shoulders

Last updated 2026-04-29

The website you're reading, the browser extension, and the Playbill tracker catalogue are only possible because other people published excellent open-source software and kept maintaining it. This page lists the projects we depend on, with licenses and links. If you contributed to any of these and spot a mistake — name, license, attribution — email [developer@consenttheater.org](mailto:developer@consenttheater.org).

## Frontend runtime

What ships to your browser when you open this site.

[Astro](https://astro.build) MIT

Content-driven framework with an islands architecture — every page renders to static HTML at build time, with small vanilla-TS scripts hydrating the search and settings UI.

[Tailwind CSS](https://tailwindcss.com) MIT

Utility-first styling layer. All design tokens live in a single globals.css file.

[class-variance-authority](https://cva.style) Apache-2.0

Types and ergonomics for our component variants.

## Icons

Every glyph in the UI comes from the same family, rendered without runtime JS.

[Phosphor Icons](https://phosphoricons.com) MIT

The icon family the whole project uses — friendly, geometric, and well-covered.

[astro-icon](https://github.com/natemoo-re/astro-icon) MIT

Build-time SVG inlining for Astro components — no JS shipped for static icons.

[Iconify & @iconify-json/ph](https://iconify.design) MIT

The upstream icon registry astro-icon resolves against.

## Backend & edge

What happens in the tens of milliseconds after you hit Search.

[Hono](https://hono.dev) MIT

Lightweight router running inside our Cloudflare Worker.

[Cloudflare Workers](https://workers.cloudflare.com) Commercial platform

Edge runtime where the /api/search endpoint executes.

[Wrangler](https://github.com/cloudflare/workers-sdk) MIT / Apache-2.0

Cloudflare Workers CLI used for local dev and deploys.

## Build & tooling

What the repository depends on but that never reaches your browser.

[TypeScript](https://www.typescriptlang.org) Apache-2.0

Type-checks the whole codebase.

[Vite (via @tailwindcss/vite)](https://vitejs.dev) MIT

The bundler Astro uses under the hood; the Tailwind v4 Vite plugin wires in our utility classes.

[@astrojs/sitemap, @astrojs/check](https://github.com/withastro/astro/tree/main/packages/integrations) MIT

Official Astro integrations for XML sitemaps and type-checking.

[astro-llms-md](https://github.com/tfmurad/astro-llms-md) MIT

Auto-generates a markdown sibling for every HTML page at build time, so language models can fetch the content as plain markdown instead of parsing HTML.

[satori, satori-html, @resvg/resvg-js, sharp, gray-matter](https://github.com/vercel/satori) Mixed (MIT / MPL-2.0 / Apache-2.0)

The OG image pipeline. satori turns JSX into SVG, @resvg/resvg-js rasterises to PNG, sharp does the final compositing, and gray-matter parses handbook frontmatter so every route ships with a tailored 1200x628 social-share image at build time.

[Puppeteer](https://pptr.dev) Apache-2.0

Headless Chromium driver behind our accessibility test runner — loads each page across light/dark and normal/high-contrast themes and verifies WCAG2AA + AAA contrast with axe-core.

## Sibling projects & data

These live in separate repositories under the same umbrella.

[@consenttheater/playbill](https://github.com/ConsentTheater/playbill) AGPL-3.0-or-later

The tracker knowledge base — bundled into the search API and the extension. Same author, same license, deliberately reusable on its own.

[ConsentTheater browser extension](https://github.com/ConsentTheater/extension) AGPL-3.0-or-later

The Chrome / Firefox extension. Shares the design tokens this site uses.

## Fine print

All trademarks, logos, and product names listed on this page belong to their respective owners and are mentioned here for identification only. Listing a project here does not imply any affiliation, endorsement, or sponsorship — it means we use their work, are grateful for it, and want you to be able to trace where it comes from.

Want to verify? The full dependency tree lives in the [website's package.json](https://github.com/ConsentTheater/website/blob/main/package.json), and the extension's tree is [here](https://github.com/ConsentTheater/extension/blob/main/package.json).