view
Build a self-contained interactive HTML that lets you SEE de-identification and restoration — original ↔ redacted ↔ rehydrated, with color-coded PII…
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
confide:view — visual de-id diff (what redaction & rehydrate do)
Produce ONE standalone .html that renders a transcript with every PII span
highlighted and color-coded by type, and lets you toggle between the original and
the redacted views interactively. It reuses the span data from the shared core
(shared/confide_core.py) — a thin renderer, no new detection logic.
Privacy invariants (do not violate)
- The HTML embeds REAL values (originals + placeholders) so you can compare them.
It is therefore a vault artifact: same posture as the relationship-graph HTML.
- Local only. Written next to the input, a sibling
.gitignoreexcludes
.view.html (and .map.json), and a red PRIVATE banner sits at the top.
Never share it, never commit it, never ship it.
- Counts only to stdout. The terminal output carries span counts by type — never
PII values or redacted-text dumps.
- Self-contained & offline. Inline CSS + JS, no CDN / external resources, so it
renders offline and can never 404. Default detection layer is regex (no network,
no models).
Run it
python3 skills/view/scripts/view.py ORIGINAL.txt
If a <name>.map.json sits next to the input (from confide:anon), it is picked up
automatically so the view shows exactly that known PII; otherwise PII is detected with
the local layers and a fresh reversible map is built in memory.
Options:
--map MAP.json— supply the reversible map explicitly.--layers regex,natasha,llm— choose detection layers (defaultregex, offline-safe).--out DIR— write the.view.htmlinto DIR instead of next to the input.
It writes <name>.view.html and ensures a sibling .gitignore.
What the HTML shows
- The transcript with each PII span wrapped in
<mark class="pii TYPE" data-orig=… data-ph=…>, colored by type (PERSON, DATE,
EMAIL, …). Hover a span to see original ↔ placeholder.
- An interactive state toggle:
- All — fully redacted: every span shows its placeholder.
- None — original: nothing masked.
- Selected — mask only the PII types you check (per-type checkboxes in the legend).
- A legend + counts by type.
After running
- Open the
<name>.view.htmllocally in a browser to inspect the de-id. - Report the counts summary (types) — never paste PII.
- Remind the user the file is private/local and must not be shared or committed.
Setup
The default regex layer always works offline. For Natasha (RU NER) or the local LLM
layer, run confide:setup first; otherwise pass --layers regex.
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。