diff --git a/okf/SPEC.md b/okf/SPEC.md index 55d0a46..d905f63 100644 --- a/okf/SPEC.md +++ b/okf/SPEC.md @@ -361,6 +361,26 @@ This permissive consumption model is intentional: OKF is meant to remain useful as bundles grow, get refactored, and are partially generated by agents. +### 9.1 Erasure profile (optional) + +Deleting a concept file removes its content, but a plain deletion can still +*disclose* that the concept once existed: dangling links from other concepts +continue to name it, `index.md` and `log.md` may still reference it, and in a +git-distributed bundle the content remains recoverable from history. Bundles +that must not leak erased knowledge MAY declare conformance with the **erasure +profile**, which requires that, when a concept is erased: + +1. Inbound links to it from other concepts in the same revision are removed or + redacted, so no dangling reference names the erased concept. +2. Its concept ID no longer appears in any `index.md` or `log.md`. +3. Where the distribution history itself must not disclose the concept, the + erasure is realized by rewriting history (for example, a fresh export) + rather than an additive deletion commit. + +The erasure profile is opt-in. Consumers MUST NOT assume a bundle follows it +unless the bundle states so, and MUST NOT treat a non-conforming bundle as +malformed — ordinary bundles remain valid under the rules above. + --- ## 10. Relationship to other formats