Clinical-grade confidentiality — privacy tags, caches, and the safe distribution pack Bảo mật cấp lâm sàng — privacy tag, cache, và gói phân phối an toàn
Rule 09 governs what information may travel from profiles and materials into published assets. Three mechanisms enforce it: inline privacy tags that cascade through a section, committed caches that store verdict labels only (never raw text), and a distribution safety filter that drops all corpus data after manifest globs. Together they ensure the toolkit ships with zero PII even when the private corpus is present during development. Rule 09 quy định thông tin nào được phép đi từ profile và tư liệu vào asset đã đăng. Ba cơ chế thi hành: privacy tag nội tuyến lan xuống qua một mục, cache commit chỉ lưu nhãn phán quyết (không bao giờ text thô), và safety filter phân phối loại bỏ mọi dữ liệu corpus sau manifest glob. Cùng nhau đảm bảo toolkit ship không có PII ngay cả khi corpus riêng tư có mặt trong quá trình phát triển.
Privacy tags — what they mean and how they cascade Privacy tag — ý nghĩa và cách chúng lan xuống
| TagTag | MeaningÝ nghĩa | Where allowedCho phép ở đâu | Gate 3 effectHiệu lực Cổng 3 |
|---|---|---|---|
[PRIVATE] |
Internal reference only — never surface in any contentChỉ tham chiếu nội bộ — không bao giờ xuất hiện trong nội dung nào | Profiles, materialsProfile, tư liệu | Hard block on any match in draftChặn cứng khi có kết quả trong bản nháp |
[CONFIDENTIAL: {person}] |
Do not reference this person by name in public content about {subject}Không đề cập người này bằng tên thật trong nội dung công khai về {đối tượng} | Profiles, materialsProfile, tư liệu | Hard block; use role description instead ("người mentor")Chặn cứng; dùng mô tả vai thay thế ("người mentor") |
[ANONYMIZE] |
Use pseudonym or role description in contentDùng bút danh hoặc mô tả vai trong nội dung | Profiles → content translationProfile → dịch sang nội dung | WARN — must confirm pseudonym substitutedWARN — phải xác nhận đã thay bút danh |
[PRIVATE] section header means all facts within that section are private — even if individual sentences are not tagged. When content contains both private and non-private facts, each is tagged separately. The scanner checks section-level cascades, not only inline matches.
Tag lan xuống. Tiêu đề mục [PRIVATE] nghĩa là mọi sự kiện trong mục đó đều riêng tư — ngay cả khi từng câu không được tag. Khi nội dung chứa cả sự kiện riêng tư và không riêng tư, mỗi loại được tag riêng. Scanner kiểm tra lan xuống cấp mục, không chỉ kết quả nội tuyến.
What the privacy gate blocks — hard-stop list Những gì cổng bảo mật chặn — danh sách dừng cứng
Clinical information — never publishedThông tin lâm sàng — không bao giờ đăng
- Raw clinical terms and diagnosis labelsThuật ngữ lâm sàng thô và nhãn chẩn đoán
- DSM-5 / ICD-11 codes in any formMã DSM-5 / ICD-11 ở bất kỳ dạng nào
- Crisis details without explicit consentChi tiết khủng hoảng không có sự đồng ý rõ ràng
- Psychological severity ratingsĐánh giá mức độ nghiêm trọng tâm lý
Identity & relationship detailsChi tiết danh tính & quan hệ
- Third-party real names marked [CONFIDENTIAL]Tên thật bên thứ ba được đánh dấu [CONFIDENTIAL]
- Secret relationships marked [PRIVATE]Quan hệ bí mật được đánh dấu [PRIVATE]
- Specific location identifiers that could endangerĐịnh danh địa điểm cụ thể có thể gây nguy hiểm
- Financial specifics (debt amounts, exact income)Thông tin tài chính cụ thể (số nợ, thu nhập chính xác)
Committed caches — verdict labels only, never raw profile text Cache đã commit — chỉ nhãn phán quyết, không bao giờ text profile thô
The system caches intermediate results in .claude/ for session resumption efficiency. Cache entries store only verdict labels, coverage percentages, and skill-run timestamps. Raw profile text, clinical observations, and material excerpts are never written to committed cache files. Crisis flags are never cached at all — psy:crisis-assess must re-run fresh every session.
Hệ thống cache kết quả trung gian trong .claude/ để hiệu quả tiếp tục phiên. Các entry cache chỉ lưu nhãn phán quyết, phần trăm coverage, và dấu thời gian chạy skill. Text profile thô, quan sát lâm sàng, và trích đoạn tư liệu không bao giờ được ghi vào file cache đã commit. Cờ khủng hoảng không bao giờ được cache — psy:crisis-assess phải chạy mới mỗi phiên.
Distribution pack — the non-removable safety filter Gói phân phối — safety filter không thể gỡ
The public distribution of the toolkit is built by a safety filter that runs after manifest globs. It unconditionally drops any file matching: docs/profiles/, docs/materials/, docs/graph/, docs/references/, assets/, and any .env / secret files. The filter is not a .gitignore — it is a build-time enforcement step that cannot be bypassed by adding entries to any config. The toolkit ships no character corpus and still imports, compiles, and runs its test suite (corpus-dependent tests skip cleanly).
Bản phân phối công khai của toolkit được xây bởi safety filter chạy sau manifest glob. Nó vô điều kiện loại bỏ mọi file khớp với: docs/profiles/, docs/materials/, docs/graph/, docs/references/, assets/, và mọi file .env / bí mật. Filter này không phải .gitignore — đây là bước thi hành lúc build không thể bỏ qua bằng cách thêm entry vào bất kỳ config nào. Toolkit ship không có corpus nhân vật và vẫn import, compile, và chạy bộ kiểm thử (các test phụ thuộc corpus bỏ qua một cách sạch sẽ).
Synthetic e2e fixtures & AGPL-3.0 Fixture e2e tổng hợp & AGPL-3.0
Synthetic e2e fixtures — zero PIIFixture e2e tổng hợp — không PII
The end-to-end test harness runs against synthetic fixtures only — fabricated characters with invented names, dates, and events. No real person's material is used in any test. The golden outputs in tests/golden/ are generated from these synthetic inputs. A corpus-present run and a corpus-absent run produce identical test results for the deterministic legs.
Bộ kiểm thử đầu-cuối chạy trên chỉ fixture tổng hợp — nhân vật được tạo ra với tên, ngày, và sự kiện giả định. Không có tư liệu của người thật nào được dùng trong bất kỳ kiểm thử nào. Đầu ra vàng trong tests/golden/ được tạo từ các đầu vào tổng hợp này. Chạy có corpus và chạy không có corpus tạo kết quả kiểm thử giống hệt nhau cho các nhánh xác định.
AGPL-3.0 · ships no corpus by designAGPL-3.0 · thiết kế không ship corpus
Licensed AGPL-3.0: network or SaaS use of a modified version must release full source. The license does not require the operator's character corpus — only the framework source. The toolkit is character-agnostic: bring your own docs/profiles/characters.yaml and all tooling resolves subjects dynamically. The public repository is the proof: it imports, tests, and passes CI with no corpus present.
Cấp phép AGPL-3.0: sử dụng mạng hoặc SaaS của phiên bản sửa đổi phải công bố mã nguồn đầy đủ. Giấy phép không yêu cầu corpus nhân vật của người vận hành — chỉ nguồn framework. Toolkit character-agnostic: mang docs/profiles/characters.yaml của riêng bạn và mọi công cụ sẽ resolve đối tượng động. Kho công khai là bằng chứng: nó import, kiểm thử, và vượt CI mà không có corpus.
Content privacy levels — what each unlocks Cấp độ bảo mật nội dung — mỗi cấp mở khóa gì
| LevelCấp độ | DefinitionĐịnh nghĩa | Accessible factsSự kiện có thể truy cập | Use caseTrường hợp dùng |
|---|---|---|---|
| Public / PersonaCông khai / Persona | Public-facing, maintains front imageHướng công chúng, duy trì hình ảnh bề ngoài | Non-tagged facts only; no [PRIVATE] section contentChỉ sự kiện không tag; không có nội dung mục [PRIVATE] | Social media posts, LinkedIn, FacebookBài đăng mạng xã hội, LinkedIn, Facebook |
| Private / HiddenRiêng tư / Ẩn | Inner voice, restricted contexts onlyTiếng lòng, chỉ ngữ cảnh hạn chế | [PRIVATE] content accessible; still no [CONFIDENTIAL] leaksNội dung [PRIVATE] có thể truy cập; vẫn không rò rỉ [CONFIDENTIAL] | Private group posts, personal letters, internal notesBài đăng nhóm riêng, thư cá nhân, ghi chú nội bộ |
orc:privacy-guard does not inherit the previous scan result.
Người tạo nội dung phải khai báo cấp độ bảo mật trước khi soạn thảo. Cấp độ xác định sự kiện nào Cổng 3 sẽ cho qua. Đổi cấp độ sau khi bản nháp xong đòi hỏi quét lại hoàn toàn — orc:privacy-guard không kế thừa kết quả quét trước.
Gates & evidenceCổng & bằng chứng
Gate 3 (cre:privacy-guard) in full — how the Rule 09 scan integrates with the evidence-tier gate before publish.Cổng 3 (cre:privacy-guard) đầy đủ — cách quét Rule 09 tích hợp với cổng bậc bằng chứng trước khi đăng.
Distribution & packagingPhân phối & đóng gói
How the safety filter is built into the pack script, what the AGPL-3.0 source-release obligation covers, and how to bring your own corpus.Cách safety filter được tích hợp vào script đóng gói, nghĩa vụ công bố nguồn AGPL-3.0 bao gồm gì, và cách mang corpus của riêng bạn.
CRE frameworkFramework CRE
How cre:post-writer, cre:evidence-scanner, and cre:privacy-guard chain together inside the content-creation track.Cách cre:post-writer, cre:evidence-scanner, và cre:privacy-guard xâu chuỗi trong mạch tạo nội dung.
Event pipelinePipeline sự kiện
Where the privacy gate sits in the full MAT→PSY→EVL→CRE event cascade and how orc:cascade sequences it.Cổng bảo mật nằm ở đâu trong cascade sự kiện MAT→PSY→EVL→CRE đầy đủ và cách orc:cascade sắp xếp nó.