-
Notifications
You must be signed in to change notification settings - Fork 2
Specs M5 Trust Center Measure
trust_center.models.measure.TrustCenterMeasure
A security measure advertised on the public Trust Center. Unlike certifications, subprocessors and documents, a measure is free-form curator copy with no link to internal data, so nothing sensitive can leak through it. It exists to describe, in marketing-friendly terms, the organizational, technical and physical controls the organization has in place.
File: trust_center/models/measure.py
BaseModel subclass : UUID PK, sequential reference (prefix TCME, e.g. TCME-1), django-simple-history audit trail, and the trust_center_publication lifecycle workflow.
| Field | Type | Constraints | Description |
|---|---|---|---|
id |
UUID | PK, auto-generated | Unique identifier |
reference |
string | auto TCME-N, unique |
Business reference |
title |
string | required, max 255 | Measure title (e.g. "Encryption at rest and in transit") |
description |
text | optional, blank default | Public-facing description of the measure |
icon |
string | max 50, optional, default bi-shield-check
|
Bootstrap Icons name, validated against ^bi-[a-z0-9-]+$
|
category |
enum | required, default organizational
|
One of organizational, technical, physical
|
display_order |
int |
PositiveIntegerField, default 0
|
Render order within the Measures section |
workflow_state |
string | indexed | Lifecycle state (trust_center_publication) |
created_by |
relation | FK -> User | Creator |
created_at / updated_at
|
datetime | auto | Timestamps |
tags |
relation | M2M -> Tag | Free tagging (from BaseModel) |
Meta.ordering = ["display_order", "title"].
| Value | Description |
|---|---|
organizational |
Organizational measures (policies, governance, training, processes) |
technical |
Technical measures (encryption, access control, logging, hardening) |
physical |
Physical measures (data-center security, access badges, CCTV) |
The categories mirror the ISO/IEC 27002:2022 control attribute "control type", and the public page groups measures by category.
Returns "trust_center.measure", so lifecycle transitions resolve their permission against the measure feature.
Runs the shared trust_center_publication workflow (see README.md §2.3). Publish / unpublish / archive-from-published require approve; archiving a draft / unpublished entry is update.
Because a measure carries no internal source object, only the base publication gate applies : MeasureQuerySet.published() returns entries whose workflow_state is published. There is no second source-validity clause (RG-TC-16). The global is_published switch is enforced separately at the view layer.
| ID | Rule |
|---|---|
| RG-TC-16 | A measure is free-form curator copy with no internal link; only the base publication gate plus the global switch apply. |
| RG-TC-17 |
icon must be a Bootstrap Icons name (^bi-[a-z0-9-]+$), per the brand iconography rule; category is one of organizational, technical, physical. |
-
GET /measures/: list (search ontitle,description; ordering ondisplay_order,title,created_at;?workflow_state=filter). POST /measures/GET /measures/{id}/PUT/PATCH /measures/{id}/DELETE /measures/{id}/POST /measures/{id}/transition/
-
GET /trust/api/measures/: published measures viaPublicMeasureSerializer(fields:title,description,icon,categoryas its display label). Also included in the aggregateGET /trust/api/.
-
list_trust_center_measure/get_trust_center_measure/create_trust_center_measure/update_trust_center_measure/delete_trust_center_measure -
transition_trust_center_measure/trust_center_measure_allowed_transitions
| Codename | Description |
|---|---|
trust_center.measure.read |
List / read measures |
trust_center.measure.create |
Create a measure |
trust_center.measure.update |
Modify a measure (and archive a draft / unpublished one) |
trust_center.measure.delete |
Hard-delete a measure |
trust_center.measure.approve |
Publish / unpublish / archive a published measure |
- ISO/IEC 27002:2022 control types (organizational / technical / physical).
- Brand guidelines : Bootstrap Icons only (
docs/brand/brand-guidelines.md). - README.md : §2.6 (measure rules), §6 (data-leakage safety).
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)