Core Concepts
Before diving into individual features, it helps to understand how the key objects in OpenCLM relate to each other.
The Contract Object
A Contract is the central entity in OpenCLM. Every contract has:
| Field | Description |
|---|---|
| Title | Human-readable name shown in lists and search results |
| Type | Categorisation (NDA, SLA, Vendor, Employment, etc.) |
| Status | One of: Draft → Under Review → Approved → Signed → Active → Expired → Terminated |
| Counterparty | The external organisation or individual |
| Effective/Expiry dates | Used by the Deadlines and Renewals engine |
| Value | Financial value for analytics |
| Owner | The user responsible for the contract |
| Clauses | Reusable legal building blocks embedded in the contract body |
Contract Status Flow
Draft → Under Review → Approved → Signed → Active
↑ ↓
Rejected ←───────────────────────────── Expired
Templates
A Template is a pre-built contract structure that teams reuse to speed up authoring. Templates:
- Contain a body with placeholder variables (e.g.
{{counterparty_name}}). - Inherit approved clauses from the Clause Library.
- Lock specific sections so only authorised roles can modify them.
Clauses
A Clause is an atomic, reusable piece of legal text — for example, a standard liability cap paragraph or a governing law statement. Clauses can be:
- Tagged by category (Liability, Indemnity, IP, Confidentiality, …).
- Versioned independently of the contracts that use them.
- Marked as mandatory so they cannot be removed by contract authors.
- Analysed for compliance drift over time.
Approval Workflows
An Approval Workflow defines who must review and approve a contract before it can move to the Signed phase. Workflows support:
- Sequential steps — each approver waits for the previous.
- Parallel steps — all approvers in a group are notified at once.
- Conditional routing — e.g. "if value > $100 k, add Finance Controller".
- Escalation — auto-escalate if no action taken within N days.
Roles & Permissions (RBAC)
OpenCLM uses Role-Based Access Control. Every user is assigned one or more roles, each of which grants a specific set of permissions on specific resources. See Roles & Permissions for the full matrix.
Organisations & Multi-tenancy
A single OpenCLM instance can host multiple Organisations. Each organisation has its own users, contracts, templates, and settings, with strict data isolation between tenants.
Obligations
An Obligation is a recurring or one-time duty that flows from a signed contract — for example, "Deliver quarterly performance report" or "Pay licence fee annually". Obligations are tracked separately from the contract itself so they can have their own status, due dates, and owners.
Integrations
OpenCLM connects to external systems via the Integrations manager:
- OpenSign — e-signature workflow.
- Keycloak — SSO and identity federation.
- More integrations (Slack, Salesforce, Jira) are community-driven.