Skip to content

F-UP17-04: encryption_at_rest.md claims 'signed deployer instructions'; the file is unsigned and not hashed anywhere (CR-A07-019) #455

Open

Description

@cemililik

Wave 1 · theme D1-9: Compliance mappings and marketing language · highest severity High · 1 finding(s) · effort small

Summary

encryption_at_rest.md:10-12 (and the TR mirror :10-12, 'imzalı operatör talimatları') lists deployer instructions among the integrity-protected artefacts. generate_deployer_instructions (compliance.py:1681-1766) writes plain Markdown with no signature or HMAC. Because it runs after the integrity manifest (F-UP17-01), its hash is not in model_integrity.json, compliance_report.json or the audit log. An edit to the Article 13 deliverable cannot be detected, and the QMS doc misstates the control.

Primary finding

CR-A07-019 — F-UP17-04: encryption_at_rest.md claims 'signed deployer instructions'; the file is unsigned and not hashed anywhere

severity High · reachability default · intent contract-violation · confidence confirmed · independently confirmed · reproduced end to end

What happens. encryption_at_rest.md:10-12 (and the TR mirror :10-12, 'imzalı operatör talimatları') lists deployer instructions among the integrity-protected artefacts. generate_deployer_instructions (compliance.py:1681-1766) writes plain Markdown with no signature or HMAC. Because it runs after the integrity manifest (F-UP17-01), its hash is not in model_integrity.json, compliance_report.json or the audit log. An edit to the Article 13 deliverable cannot be detected, and the QMS doc misstates the control.

Where.

Evidence.

  • model_integrity.json artifact list from run2: README.md, adapter_config.json, adapter_model.safetensors, chat_template.jinja, tokenizer.json, tokenizer_config.json.

Recommended fix. Hash deployer_instructions.md into model_integrity.json (fix the ordering) and reword the doc to 'SHA-256-covered' rather than 'signed', unless an actual signature is added.

Acceptance criteria

  • A regression test reproduces the failure scenario and asserts the corrected behaviour.
  • Documentation listed above is corrected in English and in its Turkish mirror in the same PR.
  • Every finding in this issue is resolved or explicitly closed with a reason.

Found by the October 2026 ForgeLM code and documentation review against commit cab2947. Code links point at that commit; line numbers may have moved since. Finding IDs (CR-…, DOC-…, TECH-…) are stable references for this backlog.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: complianceCode area: compliancebugSomething isn't workingseverity: highWrong behaviour or a false claim users rely onsource: review-2026-10Found by the October 2026 code and documentation reviewwave: 1Roadmap wave 1: high severity, small effort

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions