SCF / Documentation / Normative contract

Construction Constitution

Version: 0.1

This document contains the universal requirements of SCF. A product profile MAY make a requirement stricter, but MUST NOT weaken it without a registered exception and a risk assessment.

Normative words: MUST / MUST NOT state a requirement for SCF conformance; SHOULD / SHOULD NOT state the expected decision unless evidence justifies a registered exception; MAY states a permitted choice subordinate to stronger requirements.

Requirements are grouped by subject. Identifiers are stable and language-independent. A requirement that cannot be verified is incomplete. Evaluation and conformance defines the evidence levels, the baseline verification corpus and the release gate; where it does not yet name a method for a requirement, the product MUST supply one in its own verification corpus before claiming that requirement met.


1. Product and governance — SCF-GOV

SCF-GOV-001. Product definition

A system MUST be defined as a product with a stated purpose, an intended deployment context, a threat model, a support period, a data policy and an accountable owner. An image without these is a build artefact, not a system, and MUST NOT be presented as a released system.

SCF-GOV-002. Declared scope of responsibility

The producer MUST state which components it takes responsibility for, which it consumes from upstream, and which it explicitly excludes. The statement MUST be available to the recipient before installation.

SCF-GOV-003. Threat model

Every system MUST have a written threat model naming the assets, the adversary capabilities in scope, the trust boundaries and the risks accepted out of scope. Security requirements MUST be traceable to it.

SCF-GOV-004. Support period declared before acquisition

The end of the support period MUST be stated to at least month-and-year precision, and MUST be available at the moment the system is obtained, not only after installation.

SCF-GOV-005. Secure by default, not by configuration

The default configuration MUST be the secure configuration. A hardening guide MUST NOT be the mechanism by which a system meets its own security claims.

SCF-GOV-006. No claim without evidence

A published claim about security, privacy, compliance, reproducibility or certification MUST be bounded to the tested scope and supported by retained evidence. Marketing wording MUST NOT exceed the evidence.

SCF-GOV-007. Accountable exceptions

Every deviation from this Constitution MUST be registered with scope, reason, affected users, risk, mitigation, owner and review date. An expired exception blocks a new conformance statement until reviewed.

SCF-GOV-008. Jurisdiction and data residency

The product MUST declare the jurisdictions it is intended to be placed on the market in, the regulatory regimes that follow from that, and where the data it generates or transmits is expected to reside. A profile MAY make residency a hard constraint verified at build time.


2. Specification — SCF-SPC

SCF-SPC-001. Declarative specification

A system MUST be described by a declarative specification that is complete enough to construct it. Completeness is demonstrated by SCF-REP-001: if the system cannot be rebuilt from its specification and lock alone, the specification is incomplete.

SCF-SPC-002. Canonical form and stable identity

The specification MUST have a canonical serialisation, and its identity MUST be derived from that serialisation by a cryptographic digest. Two specifications with the same identity MUST describe the same system.

SCF-SPC-003. No hidden inputs

Anything that can change the output MUST appear in the specification or in the lock derived from it: sources, versions, architecture, locale, timestamps, trust anchors and verification keys, overlays, hooks and engine versions. Ambient host state MUST NOT influence the result. Signing keys are not inputs and MUST NOT appear (SCF-CRY-003).

SCF-SPC-004. Layered composition with visible precedence

Where a specification is composed from a base and overrides, the precedence order MUST be defined and the effective result MUST be inspectable before a build starts.

SCF-SPC-005. Validated input

Every field of a specification MUST be validated against a published schema with explicit types, ranges and permitted values. Free text MUST NOT reach a shell, a package resolver or a filesystem path without validation.

SCF-SPC-006. Portability of intent

A specification SHOULD express intent — "a hardened server with these services" — separately from platform mechanics. Where intent cannot be expressed portably, the platform-specific part MUST be explicitly marked.

SCF-SPC-007. Export without lock-in

The producer MUST be able to export the canonical specification and the resolved lock in a documented format, and a recipient MUST be able to rebuild from them without the original service.


3. Sources and provenance — SCF-SRC

SCF-SRC-001. Named upstream

Every input MUST have a named origin recorded in the lock: project, archive, suite, component, version and cryptographic digest.

SCF-SRC-002. Authenticated acquisition

Every input MUST be authenticated by a signature or a digest anchored in a key the producer has deliberately trusted. Transport security MUST NOT be the only integrity mechanism.

SCF-SRC-003. Explicit trust anchors

Trust anchors MUST be enumerated, stored as files under producer control, and scoped to the sources they authenticate. Global or implicit trust of all configured keys MUST NOT be used.

SCF-SRC-004. Pinned archive state

A release build MUST resolve against a pinned archive state — a snapshot, an immutable index, a commit or a full digest list — so that the same lock yields the same inputs later. Where a platform provides no archive service, the producer MUST maintain its own immutable snapshot of the inputs it consumed.

SCF-SRC-005. Retention for the support period

The exact inputs of a release, or an immutable reference that resolves them, MUST remain available for at least the support period, and for as long as any licence or regulatory obligation requires.

SCF-SRC-006. Due diligence on third-party and open-source components

The producer MUST assess the components it integrates, including components it did not pay for, for maintenance status, known vulnerabilities, licence terms and provenance. Absence of a commercial relationship does not remove the duty. The assessment MUST be recorded per component with its source, its outcome and its date.

SCF-SRC-007. Upstream fix duty

When the producer finds a vulnerability in a component it did not write, it SHOULD report it to the upstream maintainer and, where it has produced one, share the fix in a form the maintainer can use.


4. Build execution — SCF-BLD

SCF-BLD-001. Code executed during a build is untrusted

Maintainer scripts, hooks, build systems and the kernel of the build environment MUST be treated as untrusted code. The isolation boundary of SCF-BLD-002 MUST hold under a test that executes arbitrary code inside it. Running a build tool as a non-privileged user MUST NOT be relied on as the boundary.

SCF-BLD-002. Isolation boundary

A build MUST execute inside an isolation boundary that survives arbitrary code execution within it. For multi-tenant or third-party specifications the boundary MUST be a virtual machine with its own kernel, created for the build and destroyed after it.

SCF-BLD-003. No shared build state

A build MUST NOT inherit mutable state from a previous build or from another tenant. Caches MAY be shared only if content-addressed and read-only to the build.

SCF-BLD-004. Controlled network

A build MUST run without network access, or with egress restricted to an explicit allowlist of producer-controlled mirrors. Metadata services of the hosting environment MUST be unreachable from the build.

SCF-BLD-005. Safe artefact extraction

Build outputs MUST be extracted in a way that does not require the host to parse or mount a filesystem produced inside the build.

SCF-BLD-006. Bounded resources

Every build MUST have enforced limits on CPU, memory, process count, disk and wall-clock time, and MUST fail deterministically when a limit is reached rather than degrading the host.

SCF-BLD-007. Least privilege inside the boundary

Within the isolation boundary, stages that do not require privilege MUST NOT run with it. Where a platform allows unprivileged construction of root filesystems and images, the unprivileged path SHOULD be preferred.

SCF-BLD-008. Complete, attributable log

Every build MUST produce a log that identifies the lock, the engine and its version, every resolved input, every stage, its result and its duration. The log MUST be retained with the release.

SCF-BLD-009. The construction platform is in scope

The build engines, adapters, worker base images and container images used to construct a system are inputs to it, and MUST be subject to the same requirements on origin, authentication, pinning and retention as any other input.


5. Reproducibility — SCF-REP

SCF-REP-001. Rebuildable from lock

Every release MUST be rebuildable from its lock alone, on a clean environment, for at least the support period.

SCF-REP-002. Honest reproducibility claim

A bit-for-bit claim MUST be bounded to the profile, platform and architecture where it has been demonstrated by an independent rebuild. Where inputs are not reproducible, the honest claim is "rebuildable from lock", and the difference MUST be stated.

SCF-REP-003. Determinism controls

Where the platform supports them, builds MUST set a deterministic build timestamp, normalise file ownership, permissions and ordering, and remove non-deterministic caches generated during installation.

SCF-REP-004. Rebuild verification in the pipeline

At least one reference profile per platform family MUST be rebuilt independently and compared, and the comparison MUST be part of the release evidence.


6. Artefacts and attestation — SCF-ART

SCF-ART-001. Manifest

Every release MUST carry a manifest that names the specification identity, the lock identity, the engine, the build environment, every artefact with its digest and role, and the date.

SCF-ART-002. Machine-readable bill of materials

Every release MUST include a bill of materials in a widely used machine- readable format, covering every component present in the delivered artefact, with component identity, version, digest, licence and supplier. Where a regulatory regime sets a lower minimum, the higher requirement applies.

SCF-ART-003. Provenance attestation

Every release MUST carry a signed provenance attestation describing the build platform, the lock and the inputs. It MUST be generated by the control plane from the build record rather than asserted by a human, and MUST NOT be generated inside the build environment.

SCF-ART-004. Signed artefacts and digests

Every distributed artefact MUST be covered by a producer signature over its digest. Digest files MUST themselves be signed, and the verification key fingerprint MUST be published through an independent channel.

SCF-ART-005. Immutable releases

A release MUST be immutable. A correction is a new release. Channels are movable pointers to releases; releases are not movable.

SCF-ART-006. Verification instructions travel with the artefact

Instructions to verify a signature and a digest MUST be published together with the download, in a form a recipient can follow without contacting the producer.

SCF-ART-007. Source availability of the release

The release delivery surface MUST satisfy SCF-LGL-003: where a licence requires corresponding source, it is obtainable from the same place as the binary, for the period the licence requires.


7. Boot integrity — SCF-BOOT

SCF-BOOT-001. Declared boot trust model

Every system MUST declare its boot trust model: which components are signed, by whom, which keys the firmware must trust, and what the system does when verification fails.

SCF-BOOT-002. Honest Secure Boot status

A system MUST state whether it boots with firmware verification enabled in its default configuration. A system that requires the user to disable firmware verification MUST say so before installation, and MUST NOT describe itself as secure-boot capable.

SCF-BOOT-003. Do not break an inherited chain

Where a system inherits a signed boot chain from an upstream distribution, it MUST NOT replace or rebuild a component of that chain unless it can sign the replacement with a key the chain trusts. Where a component is replaced, the system MUST declare that the inherited chain no longer applies.

SCF-BOOT-004. Revocation currency

Boot components MUST NOT be shipped at a generation that current revocation policy rejects. Revocation metadata MUST be checked automatically before each release, and the check MUST be part of the release gate.

SCF-BOOT-005. Signing-authority dependencies are product risks

Dependence on an external signing authority — its certificate validity, its review process and its timelines — MUST be recorded as a product risk with a named contingency. A product plan MUST NOT assume that a signing request will be granted.

SCF-BOOT-006. Measurement where the platform supports it

Where the platform provides a measurement facility, the boot chain SHOULD be measured, the measured values SHOULD be documented, and anything sealed against those values MUST have a documented recovery path for when they legitimately change.

SCF-BOOT-007. Verified system volume for immutable profiles

A system that presents itself as immutable MUST verify the integrity of its system volume at run time, and the verification root MUST be anchored in the boot chain rather than in the volume itself.

SCF-BOOT-008. Anti-rollback

Where the update mechanism supports it, the system MUST refuse to boot a version below a recorded minimum, and the minimum MUST advance only through a controlled process.


8. Cryptography and keys — SCF-CRY

SCF-CRY-001. Written algorithm policy

The system MUST have a written algorithm policy naming permitted algorithms, key sizes and protocol versions for each purpose, with a review date. Defaults MUST comply with it.

SCF-CRY-002. No deprecated primitives in trust decisions

Deprecated hash and signature primitives MUST NOT be used in any decision that grants trust: archive signatures, artefact signatures, update verification or authentication.

SCF-CRY-003. Key custody

Every signing key MUST have a documented custodian, a storage medium, an access-control procedure and an audit trail. Release signing keys MUST NOT be present on build workers or in a build environment.

SCF-CRY-004. Separate keys for separate purposes

Archive signing, artefact signing, boot-component signing, module signing and transport identity MUST use distinct keys with distinct lifetimes.

SCF-CRY-005. Designed rotation and revocation

Key rotation and revocation MUST be designed before first use, including how existing installations learn the new key and what happens to artefacts signed with the old one.

SCF-CRY-006. Randomness at first boot

The system MUST establish a properly seeded random source before generating any long-lived secret. Secrets that must be unique per installation are governed by SCF-IDN-001.

SCF-CRY-007. Cryptographic claims are bounded

A claim of compliance with a cryptographic validation scheme MUST name the validated module, its certificate and its version. A system that merely uses a library from a validated project MUST NOT claim the validation.


9. Isolation and attack surface — SCF-ISO

SCF-ISO-001. Minimal installed surface

A system MUST install only what its stated purpose requires. Components present "in case they are needed" are attack surface and MUST be justified in the profile.

SCF-ISO-002. No listening services by default

After first boot and before an administrator acts, the system MUST NOT expose a network-listening service that its profile does not require. Every exposed service MUST be enumerated in the release documentation.

SCF-ISO-003. Mandatory access control enforced

Where the platform provides a mandatory access control or capability confinement facility, it MUST be enabled and enforcing in the default configuration, with no unresolved denials in the first-boot path.

SCF-ISO-004. Service confinement

Services reachable from the network or processing untrusted input MUST run with reduced privileges, a restricted filesystem view and a restricted system-call surface, using the mechanisms the platform provides.

SCF-ISO-005. Kernel hardening baseline

The kernel configuration and boot parameters MUST meet a stated hardening baseline, and the baseline MUST be verified mechanically against the shipped configuration rather than assumed from the upstream default.

SCF-ISO-006. Unsigned code does not enter the kernel

Loadable kernel code MUST be signed by a key the running kernel trusts. Where the profile permits third-party modules, the enrolment procedure MUST be documented, including its manual steps and their consequences.

SCF-ISO-007. Enumerated privilege escalation paths

The mechanisms by which an unprivileged user can obtain administrative privilege MUST be enumerated, justified and configured explicitly. The enumeration MUST cover at least set-user-identity and set-group-identity executables, file capabilities, the privilege-escalation policy, the authorisation framework, privileged system-bus services and installer helpers.

SCF-ISO-008. Isolation defaults are not weakened for convenience

A default that disables a platform isolation facility to make an application work MUST be registered as an exception under SCF-GOV-007 and MUST NOT be applied silently.

SCF-ISO-009. Virtualisation host defaults

Where the system can host virtual machines, the exposed device model, device pass-through, nested virtualisation and guest agents MUST be treated as attack surface: disabled by default unless the profile requires them, and enumerated when enabled.

SCF-ISO-010. Container runtime defaults

Where the system ships a container runtime, it MUST default to unprivileged operation, MUST NOT expose a privileged control socket to unprivileged users, and MUST verify signatures of images it pulls according to a documented trust policy.


10. Identity and credentials — SCF-IDN

SCF-IDN-001. No shipped credentials

An image MUST NOT contain a default password, a default private key, a default API token or any other pre-set credential shared between installations.

SCF-IDN-002. Credential quality and lockout

The default authentication configuration MUST use a current password-hashing scheme and MUST resist online guessing through rate limiting or lockout.

SCF-IDN-003. Automatic login is a declared exception

Automatic login and passwordless administrative access MUST be off by default. Where a profile requires them, they MUST be declared, scoped and paired with a compensating control.

SCF-IDN-004. Strong authentication is supported

The system SHOULD support hardware-backed authenticators for interactive login and for privilege escalation, and MUST document how to enable them.

SCF-IDN-005. Administrative actions are attributable

Administrative actions MUST be attributable to an identity, and the attribution MUST survive privilege escalation.

SCF-IDN-006. Declared network and directory authentication

The system MUST declare which network authentication and directory integration mechanisms it supports, and MUST NOT enable any of them by default without a configured trust anchor.

SCF-IDN-007. Isolation between local accounts

Local accounts MUST be isolated from one another by default: home directories are not readable across accounts, and per-account resource limits are available where the profile requires them.


11. Data protection — SCF-DAT

SCF-DAT-001. Data inventory

The producer MUST know and document what categories of data the system stores, processes and transmits by default, and where each is written.

SCF-DAT-002. Encryption at rest is available and prominent

The system MUST support full-disk or equivalent encryption of user data. Where the product delivers an installer, encryption MUST be offered there as a first-class choice rather than an advanced option; where the product is image-first, the equivalent provisioning surface MUST offer it.

SCF-DAT-003. Sound encryption defaults

Where encryption is enabled, the default parameters MUST meet the algorithm policy, and any binding of a key to platform state MUST be bound to a meaningful state, not to an empty policy.

SCF-DAT-004. Encryption in transit

Data leaving the system MUST be protected in transit using current protocol versions, with certificate validation enabled and no silent downgrade.

SCF-DAT-005. Integrity reporting

The system MUST be able to detect and report corruption or unauthorised modification of data, commands, programs and configuration that it is responsible for.

SCF-DAT-006. Erasure and reset

The system MUST provide a documented way to erase all user data and configuration and to return to its as-delivered state, and MUST state what the procedure does not erase.

SCF-DAT-007. Consistency and repair

The default storage configuration MUST survive sudden power loss without corrupting the system volume, and the system MUST provide a documented way to check and repair its filesystems from the recovery path.

SCF-DAT-008. Backup and restore

The system MUST document how the data it holds can be backed up and restored, including what a restore does not recover. A profile MAY require the mechanism to be shipped and enabled rather than only documented.


12. Privacy and telemetry — SCF-PRV

SCF-PRV-001. Network silence by default

After installation and before the user acts, the system MUST NOT contact any network endpoint other than those strictly required for its stated function. Every such endpoint MUST be listed in the release documentation.

SCF-PRV-002. Telemetry is opt-in

Collection of usage, diagnostic or measurement data MUST be off until the user or the operator turns it on, through a surface that states what is collected, why, where it goes and for how long it is kept.

SCF-PRV-003. No stable device identifier without necessity

The system MUST NOT transmit a stable identifier that links separate observations to the same installation unless the stated purpose requires it and the user has been informed.

SCF-PRV-004. Minimisation

Data that is not necessary for the stated purpose MUST NOT be collected, and collected data MUST be retained only for as long as that purpose requires.

SCF-PRV-005. Crash and diagnostic reports are consented per event

A report that may contain user content MUST be reviewable and MUST require an explicit decision, either per event or through a clearly stated standing choice that can be withdrawn.

SCF-PRV-006. Behavioural logging can be turned off

Where the system monitors or logs behavioural, usage or diagnostic activity, the user or operator MUST be able to turn it off, and the consequences MUST be stated. This does not extend to the records required by SCF-IDN-005, SCF-OPS-002 and SCF-OPS-006, which a profile MAY make mandatory.


13. Network and time — SCF-NET

SCF-NET-001. Default-deny ingress

A host firewall MUST be active in the default configuration with a default-deny policy for inbound traffic, and every opened port MUST be justified by the profile.

SCF-NET-002. Name resolution integrity

The default resolver configuration MUST be documented, and the system SHOULD protect name resolution against passive observation and tampering. A decision not to do so MUST be explicit.

SCF-NET-003. Authenticated time

Time synchronisation SHOULD be authenticated. Where the shipped client cannot authenticate, this MUST be recorded as a known limitation, because certificate validation, update freshness and log integrity depend on time.

SCF-NET-004. No unsolicited discovery

Discovery, announcement and pairing protocols MUST be off by default unless the profile requires them.

On profiles with wireless interfaces, address randomisation SHOULD be enabled for scanning and for association, and the shipped default MUST be documented.

SCF-NET-006. Declared enterprise network support

The system MUST declare which managed-network mechanisms it supports — port-based authentication, proxies, virtual private networks and certificate enrolment — and none of them may be enabled by default without configuration.


14. Update and rollback — SCF-UPD

SCF-UPD-001. An update mechanism exists and is named

Every system MUST ship with a defined mechanism to receive security updates, and the mechanism MUST be part of the product definition rather than an afterthought.

SCF-UPD-002. Security updates are automatic by default

Security updates MUST be applied automatically in the default configuration. The user or operator MUST be able to postpone them through a clearly described control, and the consequences MUST be stated. A configuration that disables security updates entirely MAY be offered; where a profile permits it, it MUST be registered under SCF-GOV-007 and MUST NOT be the default.

SCF-UPD-003. Security updates are separable

Security fixes MUST be deliverable without forcing unrelated functional change.

SCF-UPD-004. Verified before applied

An update MUST be verified against a trusted key before it is applied. Verification MUST NOT be disabled by default anywhere in the delivery path.

SCF-UPD-005. Interruption safety

An interrupted update MUST leave a bootable system. Where the platform allows it, updates SHOULD be atomic with an explicit activation step.

SCF-UPD-006. Rollback is designed and tested

The system MUST provide a documented way to return to the previous known-good state, and the procedure MUST be tested for every release, not only described.

SCF-UPD-007. Update availability outlives the release

Every security update MUST remain obtainable for the period the product policy and applicable regulation require, independently of whether the release is still current.

SCF-UPD-008. Offline and constrained updates

Profiles that operate without continuous connectivity MUST have a documented offline update path with the same verification guarantees as the online one.

SCF-UPD-009. Bounded activation attempts

Where the platform supports staged activation, a newly activated version MUST be subject to a bounded number of boot attempts, after which the system automatically returns to the previous known-good state without human intervention.


15. Vulnerability handling — SCF-VUL

SCF-VUL-001. A published way to report

The producer MUST publish a contact point for vulnerability reports and a coordinated disclosure policy stating expected response times and the disclosure process.

SCF-VUL-002. Defined handling process

Reports MUST enter a defined process with intake, triage, severity assessment, remediation, verification and publication, with an owner at each step.

SCF-VUL-003. Known exploited vulnerabilities block release

A release MUST NOT ship with a known-exploited vulnerability in a component it delivers, unless the exposure is eliminated by configuration and that reasoning is recorded. A release SHOULD NOT ship with a known exploitable vulnerability; where it does, the residual risk MUST be recorded and, where the recipient can act on it, published under SCF-VUL-004.

SCF-VUL-004. Exploitability statements are machine-readable

Where a scanner finding is not exploitable in the delivered configuration, the producer SHOULD publish a machine-readable exploitability statement rather than leaving the recipient to guess.

SCF-VUL-005. Advisories accompany fixes

A security update MUST be accompanied by an advisory identifying the affected versions, the impact, the fixed version and any required user action.

SCF-VUL-006. Reporting duties are operationalised

Where regulation imposes deadlines for reporting actively exploited vulnerabilities or severe incidents, the producer MUST maintain the capability to meet them: an identified reporting endpoint, a duty roster, templates and a rehearsed procedure.


16. Observability, diagnostics and recovery — SCF-OPS

SCF-OPS-001. The system explains its own state

An administrator MUST be able to determine, from the running system, its version, its channel, its update status, its boot integrity state and its active security policies.

SCF-OPS-002. Logs are useful and bounded

The default logging configuration MUST record security-relevant events, MUST have bounded retention and size, and MUST NOT record secrets or unnecessary personal data.

SCF-OPS-003. Recovery path exists and is reachable

Every system MUST have a documented recovery path that works when the primary system does not boot, and the path MUST be reachable without network access.

SCF-OPS-004. Failure is legible

Boot, update and integrity failures MUST produce a message that identifies what failed and what the operator can do, rather than a bare error code or a silent loop.

SCF-OPS-005. Diagnostic and service modes

A diagnostic, service or manufacturing mode MUST NOT bypass authentication, encryption or verification in a shipped system, and MUST NOT be enabled by default.

SCF-OPS-006. Tamper-evident audit record

Where a profile requires records to be retained for an operator, a regulator or an investigation, the record MUST be append-only from the perspective of the running system, MUST be exportable, and its integrity MUST be verifiable.

SCF-OPS-007. Power-loss resilience

The system MUST reach a consistent, bootable state after a sudden loss of power at any point of normal operation, not only during an update.


17. Hardware and firmware — SCF-HWE

SCF-HWE-001. Declared hardware matrix

The producer MUST publish the architectures, platforms and reference devices the system is supported on, and MUST distinguish supported, tested and untested.

SCF-HWE-002. Non-free firmware is declared

Where the system includes firmware or drivers under non-free terms, the terms MUST permit the intended redistribution, the licence text MUST travel with the image, and the component MUST NOT be modified where the licence forbids it.

SCF-HWE-003. Firmware updates are addressed

The producer MUST state whether the system can deliver device-firmware updates, and where it cannot, MUST say so.

SCF-HWE-004. Cross-architecture builds are verified natively

An artefact for an architecture other than the build host's MUST be verified by booting on that architecture: in emulation for any release, and on reference hardware before a general-availability release.

SCF-HWE-005. Power management and suspend

The system MUST document its supported sleep and hibernation states per reference device, MUST require authentication on resume by default, and MUST state what happens to storage-encryption keys in each state.

SCF-HWE-006. Clock and time zone data

The system MUST ship current time zone data and MUST be able to update it within the support period. It MUST establish a plausible time before making any decision that depends on it, including certificate validation and update freshness, and MUST behave correctly on devices without a battery-backed clock.


18. Human surfaces — SCF-HUM

SCF-HUM-001. HIF applies in full

Every human-facing surface produced by a system — shell, installer, first-run, recovery, updater, consent dialogs, error messages, documentation and the construction service itself — is governed by the applicable HIF profile. SCF MUST NOT be cited to weaken it.

SCF-HUM-002. Truthful installation

Where the product delivers an installer, it MUST state what it will erase, which disks it will touch and what is irreversible, before it acts, and MUST reflect the actual effect.

SCF-HUM-003. Visible security posture at first use

Where the product has a first-run or first-provisioning surface, it MUST make the meaningful security and privacy choices visible and decidable: storage encryption, account credentials, automatic updates and telemetry. An image-first product MUST expose the same choices through its provisioning contract.

A consent surface MUST NOT use pre-ticked acceptance, unequal prominence, ambiguous wording or repetition to obtain a decision.

SCF-HUM-005. Unattended installation is still accountable

An unattended or scripted installation MUST record the effective configuration it applied, so that the resulting system can be audited against the intent.

SCF-HUM-006. Accessibility before authentication

Where the system has an interactive surface, accessibility settings and assistive technologies MUST be reachable before authentication and during installation and recovery, together with language and keyboard selection.

SCF-HUM-007. Documentation is delivered, not linked

Administration, update, recovery and decommissioning documentation MUST be delivered with the release and MUST be usable without network access.

SCF-HUM-008. Operator handover

Where a system is delivered to an operator who did not build it, the release MUST include what that operator needs to run it: the security posture, the update contract, the recovery procedure, the reporting contact and the end-of-support date.

SCF-HUM-009. Language and text input

The system MUST support the declared languages and keyboard layouts in every surface that can block use, including authentication. Entering a credential MUST NOT depend on a layout the user cannot select at that point, and text input MUST handle non-Latin scripts in the declared languages.


SCF-LGL-001. Licence inventory

Every distributed component MUST have an identified licence, and the set of licences MUST be reviewed for conflicts with the intended distribution model before release.

SCF-LGL-002. Licence texts travel with the product

Required notices, licence texts and attributions MUST be delivered with the system in a location the recipient can find without network access.

SCF-LGL-003. Copyleft obligations are discharged at the same place

Where a copyleft licence applies, the corresponding source MUST be offered from the same place as the binary, for the period required, and MUST correspond exactly to the delivered binary.

SCF-LGL-004. Upstream trademarks are respected

Names, logos and visual identity of upstream projects MUST NOT be used in a way their published terms forbid. Where a project requires removal or replacement of its marks in a modified distribution, this MUST be done mechanically as part of the build, not left to manual discipline.

SCF-LGL-005. Derivation is disclosed truthfully

The system MUST state which upstream it derives from, and MUST NOT imply affiliation, endorsement or certification that does not exist.

SCF-LGL-006. Regulatory obligations are engineered, not documented

Where product-security regulation applies to the market the system is placed on, its obligations MUST be reflected in the pipeline — bill of materials, support period, update policy, disclosure policy, reporting capability, technical documentation and retention — rather than described in a policy document alone.

SCF-LGL-007. Export and distribution restrictions are enforced at delivery

Where the system contains components subject to export control or distribution restrictions, the restriction MUST be enforced at the point of delivery and recorded, not only stated in terms of use.

SCF-LGL-008. Design assets are cleared

Fonts, icons, wallpapers, sounds, illustrations and other design assets shipped with the system MUST have documented rights for the intended distribution, including any attribution the licence requires, and MUST be tracked as inputs like any other component.


20. Lifecycle — SCF-LCM

SCF-LCM-001. Versions are meaningful

Version identity MUST distinguish the specification, the release and the channel, and MUST allow a recipient to determine what changed.

SCF-LCM-002. Channels have rules

Every channel MUST have documented promotion criteria, an owner, an audit trail and a defined demotion or rollback path.

SCF-LCM-003. Freshness is monitored

The producer MUST detect when the inputs of a released system have changed upstream, and MUST be able to state, for any release, how far behind it is.

SCF-LCM-004. End of life is announced, not discovered

Approaching end of support MUST be announced through the product's own channels, on the system itself where possible, with enough notice to migrate.

SCF-LCM-005. Migration is provided

At end of life the producer MUST document a migration path, including what happens to data, configuration and the update channel.


21. Evidence and release — SCF-EVD

SCF-EVD-001. Verification is designed with the requirement

Every requirement in scope MUST have a named verification method and an evidence level before implementation begins.

SCF-EVD-002. Automated checks run on every build

Checks that can be performed offline against the produced artefacts MUST run on every build and MUST be capable of failing it.

SCF-EVD-003. Boot-dependent checks run on real firmware

Properties that depend on firmware, secure boot, measurement, storage encryption or hardware MUST be verified in an environment with those facilities, and on reference hardware before general availability.

SCF-EVD-004. Evidence is retained with the release

The release record MUST contain the lock, the manifest, the bill of materials, the logs, the verification results, the exceptions and the approvals, and MUST be retained for the support period.

SCF-EVD-005. Named release approval

A release MUST be approved by a named person against the gate defined in Evaluation and conformance. Visual inspection, a green pipeline or an absence of complaints is not a gate.