Skip to content

rowfence in your stack ​

The policy and the database work the same everywhere. What changes from one stack to another is how the app signs in each transaction, reads a refusal, and ships the policy with its migrations.

stackpageSDK
FastAPI, SQLAlchemy (async), Alembicfastapi.mdpip install rowfence
Next.js, Prisma, Reactnextjs.md@rowfence/prisma, /next, /react
Node: pg, postgres.js, Drizzle (Express, Hono, workers)node.md@rowfence/pg, /postgres, /drizzle
Python: SQLAlchemy (sync), SQLModel, psycopg, asyncpgpython.mdpip install rowfence
Anything else (Go, Ruby, Java, Rust, ...)sql.mdnone: a few SQL statements

Every line of code these pages show is in a tested app (integrations/fastapi, integrations/nextjs, the conformance suites) or in docs/getting-started.md, which runs as written; core/tests/unit_test.py checks it, so the pages can't drift from what works.

Start with getting started for the policy itself.