Top-Level Requirements

The seven top-level requirements state what the Safe Data API guarantees at the level of the safety function. Each is refined by detailed requirements (SD-REQ-…, see Detailed Requirements) that state how the guarantee is delivered and that are individually verified by test cases.

Top-Level Requirement: Integrity detection by construction SD-TOP-001
status: approved
tags: detection

All data protected by the Safe Data API shall be sealed with an integrity tag, and integrity shall be checked before protected data is handed to the application, so that corruption of the payload, the redundant copy, or the stored tag is detected before corrupt data can be consumed.

Top-Level Requirement: Consistent modification SD-TOP-002
status: approved
tags: consistency

Every modification of protected data shall be atomic with respect to concurrent access and shall leave the container in a sealed, verifiable state. A torn, half-applied, or stale-tagged modification shall not be observable by any reader.

Top-Level Requirement: Single-fault recovery SD-TOP-003
status: approved
tags: recovery

When redundant storage is configured, the API shall recover protected data from any single-copy fault, and shall report — never mask or “repair” by fabrication — faults that exceed the recovery capability.

Top-Level Requirement: Fault reaction and observability SD-TOP-004
status: approved
tags: diagnostics

Every integrity-relevant event shall be observable by the application or a health monitor, and the control-flow reaction to unrecoverable faults shall be configurable to match the integrating system’s safety concept.

Top-Level Requirement: Timing and execution-context safety SD-TOP-005
status: approved
tags: timing
refined by: SD-REQ-014, SD-REQ-015

API operations shall provide bounded blocking behaviour when configured, and misuse from an illegal execution context shall be caught instead of producing undefined kernel behaviour.

Top-Level Requirement: Defensive interface SD-TOP-006
status: approved
tags: defensive

The API shall reject invalid use at the earliest possible binding time — at compile time where expressible, otherwise at run time with a defined error code — and shall allow reducing the API surface for certified builds.

Top-Level Requirement: Self-diagnosis of the integrity mechanism SD-TOP-007
status: approved
tags: diagnostics
refined by: SD-REQ-017

The integrity mechanism itself shall be diagnosable: a self-test shall detect a defective tag computation as well as broken detection and recovery logic.

Refinement overview

ID

Title

Refines Back

SD-TOP-001

Integrity detection by construction

SD-REQ-001; SD-REQ-003; SD-REQ-005

SD-TOP-002

Consistent modification

SD-REQ-006; SD-REQ-007; SD-REQ-016; SD-REQ-021; SD-REQ-022

SD-TOP-003

Single-fault recovery

SD-REQ-004; SD-REQ-009; SD-REQ-010

SD-TOP-004

Fault reaction and observability

SD-REQ-011; SD-REQ-012; SD-REQ-013; SD-REQ-018

SD-TOP-005

Timing and execution-context safety

SD-REQ-014; SD-REQ-015

SD-TOP-006

Defensive interface

SD-REQ-002; SD-REQ-008; SD-REQ-019; SD-REQ-020

SD-TOP-007

Self-diagnosis of the integrity mechanism

SD-REQ-017