dorfteich/packages/shared/i18n/en
Claude Fable 5 9b7acab294
All checks were successful
CI / Lint, typecheck, test (pull_request) Successful in 6m21s
CI / Build container images (pull_request) Successful in 3m59s
CI / Auth e2e pack (pull_request) Successful in 8m35s
CI / Import/export fidelity gate (pull_request) Successful in 1m1s
CD / Build and push images (push) Successful in 17s
CD / Deploy to Test (push) Successful in 14s
CD / Smoke tests against Test (push) Successful in 1m17s
CD / Promote to Int (push) Successful in 12s
CI / Build container images (push) Has been skipped
CI / Auth e2e pack (push) Successful in 8m27s
CI / Import/export fidelity gate (push) Successful in 58s
CI / Lint, typecheck, test (push) Successful in 6m30s
#232: plugin allowlist with SHA-256 hash pinning
The install path records the SHA-256 of the delivered bundle ZIP
(plugins.bundle_hash; pre-#232 installs show it as unknown until
reinstalled). plugins.allowlist in instance_settings names permitted
ids with their pinned hashes: empty (default) = not enforced, existing
instances unchanged; non-empty = installs of unlisted or deviating
bundles are rejected (plugin_not_pinned / plugin_hash_mismatch, 403),
and an installed plugin outside the list or with a deviating hash does
not load — absent from pond mount lists, frame/assets 404. Every
rejection is audited (plugin.rejected, catalogue v1.5). A version bump
changes the hash and therefore requires an explicit re-pin — the
intended friction (ADR 0025). Admin UI shows observed vs pinned hash
per plugin with pin/re-pin/unpin. Scope stated honestly in
plugin-architecture.md: the pin answers "is this the reviewed bundle";
post-install disk tampering is platform integrity (ADR 0019), sandbox
containment stays the sandbox's job. Hardening guide row + catalog
advisory triage; residual risk R-03 resolved. e2e: empty-allowlist
compatibility, pinned load, unpinned and tampered installs rejected and
audited, pin drift blocks loading while the admin still sees the
mismatch, version bump needs re-pin. Full api suite 101 files / 561
green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AUtYMxwTCMHG9mVHnwbFg8
2026-07-31 21:26:36 +02:00
..
access.json Add effective-permissions inspector (#57) 2026-07-10 00:00:27 +02:00
apiTokens.json #200: hard instance-wide plugins.enabled kill switch 2026-07-31 04:42:42 +02:00
auth.json #214: OIDC Authorization Code with PKCE, Keycloak as reference IdP 2026-07-31 12:44:52 +02:00
comments.json Add the comments panel, unread badge, and comment-policy setting (#92) 2026-07-11 22:07:16 +02:00
common.json #206: show the VS-NfD marking in web view header and footer 2026-07-31 06:18:47 +02:00
editor.json #166: Skip-Link, verstecktes Seiten-h1, Resizer in die Nav-Landmarke 2026-07-21 14:26:54 +02:00
errors.json #232: plugin allowlist with SHA-256 hash pinning 2026-07-31 21:26:36 +02:00
export.json Add PDF export via Gotenberg (#67) 2026-07-10 12:11:12 +02:00
files.json #213: warn on uploads to classified pages; instance policy can block 2026-07-31 07:33:34 +02:00
font.json #186: pond accent theming — scoped derivation, cascade pond > user > default 2026-07-29 09:09:36 +02:00
graph.json #169: Nicht-Text-Inhalte — Task-Checkboxen, Wissensgraph 2026-07-21 14:35:16 +02:00
import.json Vault import: always show the label section, create labels inline 2026-07-15 10:58:50 +02:00
labels.json Add label UI: tree management, page assignment, and sidebar filter (#44) 2026-07-09 11:41:42 +02:00
legal.json Add instance legal pages with public rendering and footer links (#82) 2026-07-11 16:40:04 +02:00
links.json Add backlinks panel and phantom-pages view (#48) 2026-07-09 13:05:32 +02:00
mails.json Backup mirror to BASEL: rsync of the sets after every successful run (#84) 2026-07-12 12:20:32 +02:00
members.json Add pond member management UI (#54) 2026-07-09 20:22:52 +02:00
notifications.json #151: Mention-Benachrichtigungen über die Glocke 2026-07-20 01:25:16 +02:00
plugins.json #232: plugin allowlist with SHA-256 hash pinning 2026-07-31 21:26:36 +02:00
public.json Add public read access and server-rendered page HTML (#56) 2026-07-09 23:46:25 +02:00
quotas.json #168: Formulare — Fehler-Verdrahtung und Namenslücken 2026-07-21 14:26:54 +02:00
search.json Polish round 2: content footer, dismissable menus, manual versions, substring search, icon actions in settings (M10 follow-up) 2026-07-12 07:13:34 +02:00
settings.json #245: mode hidden — hide profile-violating options, mark the hiding 2026-07-31 19:27:17 +02:00
setup.json Add the first-run setup wizard UI (#81) 2026-07-11 16:05:01 +02:00
system.json #192: deploy-level backup target allowlist 2026-07-30 12:17:14 +02:00
tasks.json #168: Formulare — Fehler-Verdrahtung und Namenslücken 2026-07-21 14:26:54 +02:00
users.json Add Site-Admin user management (#59) 2026-07-10 00:31:41 +02:00
watches.json Add watches: follow pages and ponds with auto-watch preferences (#93) 2026-07-11 22:59:11 +02:00