# Ratifia > Policy-driven human approval for AI workflows. Ratifia pauses an AI workflow for a human decision, presents the reviewer with the full AI context, and resumes with the verdict. It runs on top of an existing workflow engine and never executes your code. ## Docs — Start here - [Core concepts](https://docs.ratifia.com/concepts): The decision object, callers, the inbox, and surfaces. - [Quickstart](https://docs.ratifia.com/quickstart): Shortest path to a first decision. - [Quickstart from code](https://docs.ratifia.com/quickstart/code): Two HTTP calls, no SDK — works from any language. - [Glossary](https://docs.ratifia.com/glossary): Terms used throughout the docs. ## Docs — Integrating - [MCP server](https://docs.ratifia.com/mcp): For agents that block on a verdict. - [n8n](https://docs.ratifia.com/n8n): Approval inside an n8n workflow. - [Enforce approval](https://docs.ratifia.com/enforce-approval): Verify and consume, so an approval cannot be reused or applied to a changed action. - [API reference](https://docs.ratifia.com/api-reference): Every endpoint. ## Docs — Governing - [Policies](https://docs.ratifia.com/policies): Who approves, quorum thresholds, and the surface. - [Human in the loop](https://docs.ratifia.com/hitl): The approval model end to end. - [RBAC](https://docs.ratifia.com/rbac): Roles and permissions. - [Conversational approvals](https://docs.ratifia.com/conversational-approvals): Revising a proposed action before approving it. ## Docs — Surfaces - [Notifications](https://docs.ratifia.com/notifications): How an approver is reached. - [Slack](https://docs.ratifia.com/slack): Approve from a Slack message. - [Discord](https://docs.ratifia.com/discord): Approve from a Discord message. - [DocuSign](https://docs.ratifia.com/docusign): Signature-bound approval. ## Machine-readable - [OpenAPI specification](https://docs.ratifia.com/openapi.json): the full HTTP API. ## Blog - [Automation bias is a design bug](https://ratifia.com/blog/automation-bias-is-a-design-bug.md): Show an AI's recommendation the wrong way and your reviewers stop reviewing. Automation bias is not a training problem or a user problem. It is a layout decision. - [The gate is a policy, not an if](https://ratifia.com/blog/the-gate-is-a-policy-not-an-if.md): There are two obvious ways to decide when a human is required, and both are traps: hard-code it and it rots; let the agent decide and it won't. The floor is the third way. - [How did this come about?](https://ratifia.com/blog/why-we-are-writing-this.md): A blog about the unglamorous half of AI engineering: what happens when an agent proposes an action that a person has to stand behind. - [What belongs in an approval context payload](https://ratifia.com/blog/what-belongs-in-an-approval-context-payload.md): A reviewer who approves without understanding the decision is a liability. Five things every approval request should carry — and three it never should. - [Why waitForEvent is not human-in-the-loop](https://ratifia.com/blog/why-wait-for-event-is-not-human-in-the-loop.md): Every workflow engine can pause. Pausing is the easy half. The hard half is everything between pause and resume — the half you end up building yourself. ## Pages - [Home](https://ratifia.com/): Product overview, the approval lifecycle, and decision surfaces.