Contracts
This page is generated from the in-app guide content — edit
featureToggleGuidesand runpnpm gen:feature-toggle-docs.
Approval required before active
A contract cannot become active without an approved legal review.
| Code | Default | Switch at | Turn on first |
|---|---|---|---|
legal.approval_required_before_active | On | /contracts/settings | — |
How it works
Checked when a contract’s status is changed to Active.
When ON
Activation is rejected unless the contract has at least one approved legal review.
When OFF
A contract can be activated without a legal review.
Screens, documents and reports affected
Contracts → status change to Active.
Caveats
On by default. Any approved review on the contract counts, including one from an earlier term. Contracts imported through CSV migration keep their imported status.
Auto-renewal requires review
Auto-renewing contracts require a fresh legal review before each renewal.
| Code | Default | Switch at | Turn on first |
|---|---|---|---|
legal.auto_renewal_requires_review | Off | /contracts/settings | — |
How it works
Checked when a contract marked auto-renewal is renewed.
When ON
Renewal is rejected unless an approved legal review was completed on or after the current term’s start date.
When OFF
Auto-renewing contracts renew without a new review.
Screens, documents and reports affected
Contracts → Renew.
Caveats
Contracts without auto-renewal are never blocked. The renewal creates a new draft term, which then goes through the normal activation checks.
Expiry reminders
A daily job notifies legal counsel about active contracts approaching their expiry date. Off by default.
| Code | Default | Switch at | Turn on first |
|---|---|---|---|
legal.expiry_reminder_enabled | Off | /contracts/settings | — |
How it works
A daily job finds active or expiring-soon contracts whose expiry date falls within the next 30 days.
When ON
The assigned legal counsel (or the contract’s creator if none) gets one notification per contract per day.
When OFF
No expiry notifications are sent.
Screens, documents and reports affected
Contracts; notifications to legal counsel.
Caveats
Off by default. Status changes such as Expiring soon / Expired run every day regardless of this switch.
Open critical risk blocks activation
An unresolved CRITICAL clause risk prevents activating the contract; lower severities never block.
| Code | Default | Switch at | Turn on first |
|---|---|---|---|
legal.risk_blocks_activation | Off | /contracts/settings | — |
How it works
Checked when a contract’s status is changed to Active.
When ON
Activation is rejected while the contract has an unresolved clause risk of severity Critical.
When OFF
Open risks never block activation.
Screens, documents and reports affected
Contracts → status change to Active; Risks tab.
Caveats
High, medium and low risks never block. Resolving the risk on the Risks tab unblocks activation.
Require review checklist
A legal review cannot be approved or rejected while any required checklist item is still pending or failed.
| Code | Default | Switch at | Turn on first |
|---|---|---|---|
legal.review_checklist_required | Off | /contracts/settings | — |
How it works
Checked when a legal review is approved or rejected — directly or through the approval workflow.
When ON
The decision is rejected while any required checklist item is still pending or failed (only Pass and N/A count as resolved).
When OFF
A review can be decided regardless of its checklist.
Screens, documents and reports affected
Contracts → legal reviews → Approve / Reject.
Caveats
Off by default. Optional checklist items never block.
Restrict contract type change
The contract type is locked once the contract leaves draft.
| Code | Default | Switch at | Turn on first |
|---|---|---|---|
legal.restrict_contract_type_change | Off | /contracts/settings | — |
How it works
Checked when a contract is edited.
When ON
Changing the contract type is rejected once the contract is no longer a draft.
When OFF
The contract type can be changed at any status.
Screens, documents and reports affected
Contracts → Edit.
Caveats
Only standalone contracts in Contract Management. HR employment contracts have their own switch (people.restrict_contract_type_change).