-
Notifications
You must be signed in to change notification settings - Fork 2
Specs
This directory is the single source of truth for what each Cairn module does and how it is structured. It replaces the historical features_spec/M0-M4 monolithic files: each entity now lives in its own file so a feature change touches a focused doc instead of grepping a 60 KB markdown.
| Module | Covers |
|---|---|
| Module 0 : accounts | Users, groups, permissions, authentication, onboarding |
| Module 1 : context | Scopes, issues, stakeholders, objectives, SWOT, roles, activities, indicators |
| Module 2 : assets | Essential and support assets, groups, sites, suppliers, contracts, certificates |
| Module 3 : compliance | Frameworks, sections, requirements, assessments, findings, mappings, action plans |
| Module 4 : risks | Risk assessment, threats, vulnerabilities, risks, treatment, acceptance |
| Module 4 bis : EBIOS RM | The ANSSI v1.5 workshops, W0 to W5 |
| Module 5 : Trust Center | The public curation layer : certifications, subprocessors, measures, documents |
| Module 6 : incidents | Events, incidents, evidence and custody, notification obligations and filings, breaches, post-incident reviews |
| Management review | The ISO 27001 clause 9.3 entities |
| Assistant | Ask Cairn : the optional question mode and its pluggable provider |
These are not a module. They specify the platform-wide behaviours every module inherits, which is why a change to one of them is a change to all of them.
| Specification | Covers |
|---|---|
| Lifecycle governance | The governance contract : steps, transitions, what a step decides |
| Lifecycle engine | The engine internals behind that contract |
| Dashboard | The configurable widget dashboard |
| History | The audit-trail framework |
| Kanban | The unified tasks board |
Each module directory contains:
- a
README.md: module overview, business rules (RG-*,RS-*), API base path, permission codenames, cross-cutting concerns (notifications, UI principles); - one
<entity>.mdper domain entity : model fields, validation, lifecycle, references back to the module's business rules.
- File names are kebab-case of the entity name (
essential-asset.md, notEssentialAsset.md). - Entity headers are H1; field tables follow the convention
| Field | Type | Constraints | Description |. - Cross-references between entities use relative links:
[Objective](objective.md). - Business rules keep their original identifier (
RG-01,RS-04, etc.) so legacy commit messages and code comments stay searchable. Rules retired by a later decision are kept as struck-through entries with a reason : seem1-context/README.mdfor an example. - Enums and choice lists are reproduced verbatim from the model so the doc is grep-able against the code.
The doc references models by their Django class name (e.g. Indicator, ComplianceAssessment) and points at the importable path (context.models.indicator.Indicator) at the top of each entity file. The doc is updated in the same commit as the model change : there is no separate "spec PR" step.
When the implementation diverges from a documented intent, the doc is updated rather than the code being rolled back, unless the divergence is a bug. Document the rationale in the doc itself or in CHANGELOG.md.
Built from docs/ at v0.36.0. Edits made here are overwritten by the next release : open a pull request against the source instead.
- Administration
- Ask Cairn
- Assets and suppliers
- Compliance
- The dashboard
- Finding your way
- Getting started
- Incidents
- How records move
- Organisational context
- Reports and management review
- Risks
- Trust Center
- Architecture
- Configuration
- Contributing
- The documentation system
- Installation
- Internationalisation
- Operations
- Release process
- Security
- Testing
- Adding an assistant provider
- Adding a dashboard widget
- Adding a domain entity
- Declaring a lifecycle
- Adding an MCP tool
- Adding a REST endpoint
- Adding a report
- Interface conventions
- Dashboard widgets
- Lifecycles
- MCP tools
- MCP tool parameters : Assets
- MCP tool parameters : Compliance
- MCP tool parameters : Governance and context
- MCP tool parameters : General
- MCP tool parameters : Incidents
- MCP tool parameters : Reports and management review
- MCP tool parameters : Risks
- MCP tool parameters : System and administration
- MCP tool parameters : Trust Center
- Management commands
- Models
- Permissions
- REST endpoints
- Environment variables
- MCP server
- REST API
- Assistant module (Ask Cairn)
- Module 0: User Management and Access Control
- Module 1: Context and Organization
- Module 2: Asset Management
- Module 3: Compliance
- Module 4: Risk Management
- Module 4 bis - EBIOS Risk Manager
- Module 5 : Trust Center
- Module 6 : Security Incident Management
- Management review : ISO 27001:2022 compliance (clause 9.3)