Skip to content

Expanded redaction rules: core 0.85.0 - #388

Merged
fylorn merged 3 commits into
devfrom
feat/redact-rules-ui
Oct 29, 2026
Merged

fylorn merged 3 commits into
devfrom
feat/redact-rules-ui

Conversation

@fylorn

@fylorn fylorn commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

Pins core v0.85.0 (control API 56) and brings the Secrets & privacy page up to its expanded redaction catalog.

  • More built-in rules, grouped by kind. The rule table now groups redaction rules the way core sends them: credentials saved in ThinkWatch first, then AI services, code hosting and publishing, cloud and infrastructure, payments and collaboration, private keys, JWTs, connection strings, credentials by position, cryptocurrency, and the personal-information groups (ID documents, foreign IDs, financial accounts, contact details, addresses and locations, vehicles, device identifiers, labeled fields), internal addresses, custom. Group heads keep their counts, bulk toggle and search.
  • Names and descriptions come from core. Rule names, reasons, descriptions and group names are taken from the rule list in the UI language (Chinese or English), so the desktop app no longer keeps its own copies. Text marked as code in a description is shown as code. Places that only have a rule id (security log, request drawer, traffic badges, export) look the name up in the same rule list.
  • Saved credentials show where they are saved, never a value. A hit of "Credentials saved in ThinkWatch" reads, for example, "Key of upstream “DeepSeek”" or "Gateway key “default”" in the security log, the request drawer, the traffic badge tooltip, the CSV export and record-only system notifications.
  • System notifications take built-in rule names from core's catalog. The Chinese tables for rule names in core messages are checked against that catalog by a test.
  • Screenshot fixtures regenerated against core v0.85.0.

Checked locally: tsc, vitest, cargo fmt, cargo clippy --all-targets, cargo test (including control_plane against the v0.85.0 twcore, msg_codes and ts_bindings).

🤖 Generated with Claude Code

fylorn and others added 3 commits October 29, 2026 21:02
…le catalog

- Names (zh/en) for every new built-in redaction rule, and the 20 new
  rule groups (kinds) in core's order; the old api-keys / personal kinds
  are gone.
- Descriptions for the new matcher shapes (prefixes with tail charset,
  saved, assignment, labeled) and for each rule core checks in code;
  position rules state which part is replaced.
- Hits of "Credentials saved in ThinkWatch" show where the value is
  saved (upstream key, gateway key, proxy password, ...) in the security
  log, the traffic badge tip and the CSV export, never a value.
- Core with these types is not released yet: provisional types live in
  src/security/api.provisional.ts and shadow the generated ones from
  src/types.ts until the next core pin.
- Screenshot mocks use the new kinds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Core now sends each rule's Chinese name (name_zh), the Chinese reason
(why_zh), what a redaction rule matches (about / about_zh, backticks
mark code) and the groups of each guard (kinds) in display order.

- Rule tables, the rule dialog, the security log, hit details, the
  request drawer and the traffic badges show these, by UI language,
  with English as the fallback. Places that only have a rule id look it
  up in the rule list (shared cache with the security page); before it
  loads they show the English name from the log, then the id.
- Removed the UI's own rule name, reason, group and redaction matcher
  tables. The dangerous-command check texts stay. core.zh.json keeps
  scan_rule, rule_why, content_rule and secret_rule: core message
  templates and the Rust notifications still read them.
- Provisional types gain the new fields until the next core pin.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Core v0.85.0 (control API 56). The generated bindings now carry the
  expanded redaction catalog, so the provisional types are gone.
- System notifications take built-in rule names from core's catalog,
  and a record-only hit of "Credentials saved in ThinkWatch" says where
  the credential is saved, never any part of its value.
- core.zh.json drops the redaction rule name table. The rule name and
  reason tables that core messages still read stay, and a test keeps
  them identical to core's catalog.
- Screenshot fixtures regenerated against v0.85.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fylorn
fylorn merged commit 529c2ba into dev Oct 29, 2026
6 checks passed
@fylorn
fylorn deleted the feat/redact-rules-ui branch October 29, 2026 21:39
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant