PolicyStack is a TypeScript-first open-source library that turns one configuration file into privacy and cookie policies plus a headless cookie-consent store for web applications. It serves TypeScript teams that keep legal disclosures and consent categories in code beside the application they describe. V1 packages are Apache-2.0, and generated documents require human review without guaranteeing compliance.[1][2]
Quick verdict
React, Vue, and Svelte teams that work in TypeScript and want disclosures and consent logic versioned with their app benefit most from PolicyStack. Its single config drives generated policy documents in Markdown, HTML, and PDF together with consent primitives such as ConsentGate and GatedScript. Teams without developers, or teams expecting a finished banner UI, automatic blocking, or backend enforcement, should choose a hosted consent platform instead. If you have developers and can build your own consent interface, choose PolicyStack; if you need no-code banners and scanning, choose a closed CMP such as Cookiebot.[1][2][3]
Key features
One config for policies and consent A single PolicyStackConfig declares company, data, purposes, retention, cookies, and jurisdictions, feeding both document generation and the consent store without a second categories list.[1][2]
Privacy and cookie policy generation The core compiles privacy and cookie policies from declarations with an explicit policy selection controlling emission; terms of service, DPAs, DPIAs, and rights-request workflows are not included.[1]
Markdown, HTML, and PDF output The renderers package exports Markdown, HTML, and PDF formats, and React, Vue, and Svelte provide policy components that render inside the application design system.[1]
Headless React consent primitives The React adapter wraps the core consent store with useConsent, useCategory, ConsentGate, and GatedScript, so teams gate components and scripts on stored consent choices in concurrent-safe React code.[1]
Seven built-in vendor factories GA4, Google Tag Manager, Meta Pixel, PostHog, Segment, Hotjar, and Microsoft Clarity ship as consent-gated integrations rather than custom glue code.[1]
Vite and CLI development feedback A Vite plugin with consent scanning surfaces ungated source usage, and CLI commands for init, validation, and MCP tools fit into development and CI pipelines.[1]
Jurisdiction and language coverage Jurisdiction-specific policy text exists for eea, uk, and us-ca with generic fallback elsewhere, and built-in boilerplate supports English, French, German, Dutch, and Spanish.[1]
Agent-oriented tooling Generated SDK references, CLI validation, MCP tools including scan_ungated, and reusable workflow skills let coding agents scaffold configs and check declarations.[1][2]
Who will love it
TypeScript teams that version everything TypeScript teams that version everything will love PolicyStack, because policy and consent declarations live in the repository, generate on build, and deploy with the app.[1][2]
Framework shops adding consent in code React, Vue, and Svelte shops adding consent in code will love the framework adapters, which match how they ship and avoid a third-party widget fighting the design system.[1][2]
Teams pairing disclosures with consent Teams pairing disclosures with consent will love the single config, since published policy text and consent categories stay consistent by construction rather than manual sync.[1][2]
Who should avoid it
Non-technical site owners Non-technical site owners should avoid PolicyStack, because V1 ships no finished banner or preferences UI and adoption is engineering-led.[1][2]
Teams expecting automatic enforcement Teams expecting automatic enforcement should avoid it, since scanning is heuristic, enforcement happens only where the app calls the consent APIs, and revoking consent does not unload scripts that already ran.[1]
Teams wanting guaranteed compliance Teams wanting a tool that alone guarantees compliance or backend control should look elsewhere; the docs state generated documents need human review and V1 offers no server middleware or distributed revocation.[1][2]
Compatibility
Framework fit Policy rendering fits React, Vue, and Svelte codebases, and consent bindings additionally fit Solid and Angular, with a framework-neutral core for document AST and consent store use.[1]
Analytics and tag stack fit It fits sites running GA4, Google Tag Manager, Meta Pixel, PostHog, Segment, Hotjar, or Microsoft Clarity, which ship as consent-gated vendor factories.[1]
Questions worth asking
What is the best PolicyStack alternative for non-technical users?
Is PolicyStack really no-code?
How much does PolicyStack cost per month?
Sources and editorial review
Source research. Reviewed on October 12, 2026. Written by Sanjib Sah. AI assisted; reviewed by a human editor.
We have not run or tested this product.
- PolicyStack - Privacy and consent as code
official · Observed October 12, 2026
Official homepage: privacy and consent as code positioning, one TypeScript config, Apache-2.0 V1 packages, review requirement for generated documents.
- PolicyStack V1 documentation
official · Observed October 12, 2026
Docs overview: TypeScript-first library, not a hosted service; no finished banner UI, control plane, backend enforcement, or rights workflows; V2 unshipped.
- V1 support matrix and limitations
official · Observed October 12, 2026
Support matrix for the 1.5.0 line: frameworks, outputs, no banner, heuristic scanning, seven vendors, jurisdictions, languages, Apache-2.0, no V2 date or price.
- Add cookie consent to React
official · Observed October 12, 2026
React consent adapter: package install, single provider, config-derived consent categories, useConsent, useCategory, ConsentGate, GatedScript.
- jamiedavenport/policystack repository
official · Observed October 12, 2026
Canonical repository under the same owner; former openpolicy address redirects here, evidencing the rename.
Compared with these products
No explicit proprietary baseline is recorded.