Skip to main content

Overview

Requirements are machine-readable compliance obligations extracted from framework articles. Each requirement is tied to a specific article (and optionally a paragraph), carries a type classification, and lists the stakeholder roles it applies to.

Methods

list()

Returns a page of requirements. Without filters, this returns requirements across all frameworks.
Parameters
ParameterTypeDefaultDescription
framework_slugstrNoneFilter by framework
pageint1Page number
per_pageint20Items per page (1–100)
Returns Page[Requirement]

iter()

Iterate over all requirements, optionally filtered by framework.
Parameters — same kwargs as list() (except page). Returns Iterator[Requirement]

Model

Requirement

FieldTypeDescription
idintInternal numeric ID
framework_slugstrParent framework slug
article_numberintSource article number
paragraph_refstr | NoneParagraph label, e.g. "1", "2a"
paragraph_contentstr | NoneFull text of the source paragraph
requirement_textstrExtracted obligation text
requirement_typestrClassification: "obligation", "prohibition", "permission", "definition", etc.
compliance_deadlinestr | NoneISO 8601 date if a deadline is specified
linked_article_numberslist[int]Related articles within the same framework
stakeholder_roleslist[str]Roles this applies to, e.g. ["controller", "processor"]
tagslist[str]Tag slugs
created_atstrISO 8601 creation timestamp

Examples

Build a compliance checklist

Filter requirements for a specific role

Find requirements with deadlines

Group requirements by type

Export requirements to a CSV

The requirement_type field makes it easy to separate hard obligations from definitions and permissions. Filter on "obligation" or "prohibition" when building audit checklists.
linked_article_numbers contains article numbers within the same framework, not cross-framework references.