human-analyzer
HomeTrang chủ GuidesHướng dẫn PrivacyBảo mật
Rule 09 · ConfidentialityRule 09 · Bảo mật thông tin

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
⚠️
Tags cascade. A [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.

EVL scorecard verdict label (e.g. "CAST", "PASS_WITH_RISK") cache: allowcache: allow STOREDLƯU
coverage% + [UNVERIFIED] count metric onlychỉ số đo STOREDLƯU
skill run timestamp + session state workflow statetrạng thái workflow STOREDLƯU
raw profile text / clinical observations Rule 09 — never cacheRule 09 — không bao giờ cache DROPPEDBỎ
material excerpts / source quotes Rule 09 — never cacheRule 09 — không bao giờ cache DROPPEDBỎ
crisis / PSY.crisis assessment output cache: never — always re-runcache: never — luôn chạy lại NEVER CACHEDKHÔNG BAO GIỜ CACHE

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ẽ).

.claude/skills/** toolkit corelõi toolkit KEPTGIỮ
docs/rules/** · docs/rubrics/** · platform_lib/** framework rules + schemasrule framework + schema KEPTGIỮ
tests/** · README.md · CLAUDE.md tests + docskiểm thử + tài liệu KEPTGIỮ
docs/profiles/** safety_filter — corpussafety_filter — corpus DROPPEDBỎ
docs/materials/** safety_filter — corpussafety_filter — corpus DROPPEDBỎ
docs/graph/** · docs/references/** · assets/** safety_filter — corpussafety_filter — corpus DROPPEDBỎ
.env · **/*secret* · **/*credential* safety_filter — secretssafety_filter — bí mật DROPPEDBỎ

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ộ
🔒
Content creators must declare the privacy level before drafting. The level determines which facts Gate 3 will allow through. Switching level after draft is done requires a full re-scan — 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.
3
inline privacy tag typesloại privacy tag nội tuyến
0
raw profile bytes in committed cachesbyte profile thô trong cache commit
0
corpus files in public distributionfile corpus trong phân phối công khai
0
PII in synthetic e2e fixturesPII trong fixture e2e tổng hợp