Blog
Releases, implementation guides, and notes from building PolicyStack. For supported APIs, start with the current V1 documentation.
Ship a cookie banner and privacy policy in your Wasp app
· Jamie Davenport
Wasp gives you auth, a database, and deployment out of one config file — but the privacy story is still yours to ship. Wire PolicyStack into the root component and get a consent banner, a privacy policy, and a cookie policy from one TypeScript config.
OpenPolicy and OpenCookies are now PolicyStack 1.0
· Jamie Davenport
Two projects became one. `@openpolicy/*` and `@opencookies/*` are now `@policystack/*` — one install, one typed config, one provider. 1.0 freezes the public surface: the Document AST, the validator, the jurisdiction table, and the slot contract are stable, and semver finally means something.
PolicyStack speaks French, German, Dutch, and Spanish
· Jamie Davenport
PolicyStack lifts privacy and cookie policies out of English-only. One config, five locales, no string-key lookup — TypeScript is the lookup, and tsc fails the build if a translation is missing a key.
Ship a Remix 3 app with consent before your first user
· Jamie Davenport
Remix 3 is in beta and most consent tooling was built for the React era. PolicyStack is headless primitives, so it works with Remix's server-first, non-React runtime out of the box. One TypeScript config drives the cookie banner, the privacy policy, and the cookie policy.
Ship a cookie banner in your Astro site without a framework
· Jamie Davenport
Astro renders the markup at build time; ~40 lines of vanilla JavaScript wire it to PolicyStack Consent's headless state machine. No React, no hydration island, no third-party iframe — just progressive enhancement and a banner that's part of your design system.
Ship a native privacy policy in your Expo app
· Jamie Davenport
Define your policy in TypeScript, render it with React Native primitives — no WebView, no markdown parser at runtime — and let Claude keep the third parties list honest as you add SDKs.
Ship a cookie banner with your TanStack app
· Jamie Davenport
Wire a sub-4kb headless consent state machine into your app and render the banner in your own components — with an optional Vite plugin that fails the build on any cookie that isn't gated.
Ship a privacy policy with your TanStack app
· Jamie Davenport
Define your policy in TypeScript, let the Vite plugin compile it at build time, and render it on a route alongside the rest of your app.