Compliance
Compliance questions and sections
Purpose Purpose
Questions and sections define what a Compliance board measures. They are the structure behind the matrix, the site detail view, and saved reports.
Use sections to group requirements into a readable hierarchy. Use questions for the actual requirements that must be answered for each site.
Sections versus questions Sections versus questions
| Type | Use it for | Can contain children | Gets answered per site |
|---|---|---|---|
| Section | Headings, chapters, domains, control families, or folders | Yes | No |
| Question | A specific requirement, control, or check | No | Yes |
Example structure:
Environmental Management (section)
├── Permits (section)
│ ├── Are environmental permits valid? (question)
│ └── Are permit conditions tracked? (question)
└── Training (section)
└── Is required training completed? (question)
Only leaf questions create answer items in the matrix. Sections help organize and summarize the questions below them.
Creating questions Creating questions
When you create a question, choose:
- Name — The requirement users will see in the matrix and site view
- Type — Section or question
- Description — Optional guidance, evidence expectations, or interpretation notes
- Tags — Optional labels for grouping or filtering questions
- Placement — Where the new section or question should appear in the hierarchy
Placement options are:
| Placement | Meaning |
|---|---|
| Append | Place the item as the last child of a target section. |
| Before | Place the item immediately before a target item at the same level. |
| After | Place the item immediately after a target item at the same level. |
If you create a leaf question, 21RISK automatically creates answer items for the active sites on the board. This is why a new question appears across the matrix without manual setup for each site.
Conditional applicability Conditional applicability
A leaf question can have zero, one, or multiple Site MultiSelect conditions. Expand Conditional applicability and select Add condition to add a field/filter pair. All conditions must match (AND). Each Site field can appear once; its shared picker supports any-of, all-of, has-value, and empty matching within that field. Existing conditions are expanded when you open the editor; collapsing the section does not remove them. Use Remove beside a condition to remove it when you save. Removing all conditions makes the question unconditional. Sections do not own or pass down conditions.
For example, a question can require Area of Operations contains Manufacturing OR Inbound Logistics, AND Customer requirements contains Asda. Matching the operations field alone is insufficient. When either Site field or its options change, every predicate on each affected question is reevaluated, including predicates on unchanged fields and questions on other boards. Cross-field OR and nested condition groups are not supported.
When a question is not applicable for a Site:
- It is omitted from the Site questionnaire, PDFs, Compliance question work table, progress calculations, weekly digest, and analytics for that period.
- Its matrix cell is blank instead of showing a status.
- Existing answers, status, responsibility, comments, files, history, and sub-tasks are preserved.
- A direct link still opens the question for editing and displays a Not applicable alert with its current Site-field rule. Historical views show the applicability at the selected time without attributing it to today's condition.
- It resumes with its preserved state when the Site matches again.
Conditions belong to the question and remain in place through minor and major question changes. Remove all conditions to make the question applicable to every Site again.
For create/update mutations, use applicabilityConditions, an array of { fieldId, filter } pairs. fieldId identifies an authorized Site MultiSelect field and filter is its canonical FilterPropId expression. For example:
{
"applicabilityConditions": [
{ "fieldId": 42, "filter": "Manufacturing,Inbound Logistics" },
{ "fieldId": 43, "filter": "Asda" }
]
}
Omitting applicabilityConditions preserves the complete collection on update. null clears it. A supplied array replaces the complete collection; [] is unconditional. To remove one condition, send an array containing all conditions to retain. Creation with omission, null, or [] is unconditional.
Question reads return the complete applicabilityConditions array, including [] for unconditional questions. Read-only answer details expose all current predicates, while historical details show revision-based applicability without attributing it to today's rules.
Making a Site inactive or removing it from a board preserves its existing question Items and their work. Applicability stays up to date for those retained Items, but they do not participate in normal active-board work. When the Site returns, its existing Items resume participation and any missing Items for newly introduced questions are created.
An option or Site field used by a question condition cannot be deleted. Edit or remove the dependent question condition first.
Expiry intervals Expiry intervals
A leaf question can require each site to verify its answer again on an interval, for example every 12 months. Answers that are not verified in time expire. See Keeping compliance answers verified.
Moving questions Moving questions
Questions and sections can be reorganized as your compliance program matures. You can move an item before another item, after another item, or into a section.
Important behavior:
- Moving a section moves its descendants with it.
- You cannot put a child inside a normal question.
- You cannot move a section or question under itself or one of its own descendants.
- 21RISK keeps numbering and ordering continuous so the hierarchy remains clean.
Use a minor change when moving a question if the requirement's meaning is unchanged.
Minor and major changes Minor and major changes
When editing a question, choose the change type carefully.
| Change type | Use when | Effect |
|---|---|---|
| Minor | Fixing spelling, clarifying wording, updating tags, editing descriptions, or moving the item without changing what is being assessed | Creates a new revision in the same question version |
| Major | Changing the requirement enough that old answers should not be treated as answers to the new wording | Creates a new question version and new answer items for current sites |
Major changes are useful when a requirement becomes stricter, changes scope, or asks for different evidence. Historical answers stay connected to the older version, which protects audit history.
If you are unsure whether an edit is minor or major, ask: "Would an old answer still be a valid answer to the new question?" If not, use a major change.
History History
Each question has revision history. The history helps users and AI agents understand:
- Who changed the question
- When it changed
- Whether the change was minor or major
- What the current version is
- How the question has moved or been renamed over time
This makes the question library suitable for controlled compliance programs where changes must be explainable.
Deleting questions Deleting questions
Leaf questions can be deleted when they are no longer needed. A section with children must be emptied or reorganized before it can be deleted.
Deleting a question removes it from the live board. Saved historical reports remain useful because they resolve the question structure at the time the report was created.