Skip to main content

approvals-overview

CRUD Service Approvals — Overview

This page explains approvals in the CRUD Service: concepts, lifecycle, and where policy plugs in.

Why approvals here?

  • The workflow engine creates durable approval tasks and pauses execution (WAITING) until decisions arrive.
  • Resolver plugins let policy decide “who may approve,” without hardcoding org logic in workflows.

Lifecycle (high-level)

States and thresholds

Where policy lives

  • Approver selection: resolver plugins (e.g., role-based, external PDP checks).
  • Decision keywords: approval_synonyms.yaml defines allowed approve/reject terms.
  • Thresholds: required_count in node approval_config controls N-of-M approvals.

See also

  • How‑to: Adding a custom approver resolver
  • Reference: Approval tasks & APIs
  • How‑to: Synonyms & refresh jobs
  • IdP: Obligation processing and consent (pre‑issuance) — services/idp/backend/pep-pdp-request.md
  • PDP: Obligations and delegation (policy) — services/pdp/backend/obligations-and-delegation.md