[VS-NfD] Pass the classification through feeds, public API, search results and the no-JS shell #211
Labels
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#211
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Plan reference:
20-massnahmenplan.md-> P1-2 (output channels)ADR: ADR 0022
Effort: M (2–3 AT)
Depends on: #204
Context
These four channels emit content without going through the SPA, so each can
leak unmarked classified content. The plan groups them under one effort
figure, so they stay one issue.
Kept as one issue because the plan gives the four channels a single effort
figure (2–3 AT) and they share one mechanism: the serializer that renders a
page representation outside the SPA.
Current state
apps/api/src/public/feed.service.ts, routes inapps/api/src/public/public.controller.ts:28,43.apps/api/src/public/html-shell.ts(server-rendered HTMLfor crawlers and no-script clients).
apps/api/src/public-api/, gated byapi.enabledpluspond
apiEnabled.apps/api/src/search/postgres-search.provider.ts(snippets contain page text).
Acceptance criteria
the feed document states the highest classification it contains.
the API documentation (
docs/self-hosting/public-api.md) is updated.(top and bottom) — note the shell is a separate render path from the
TipTap view, so it needs its own assertion.
classified page is never shown unmarked.
switch on.
Out of scope
Whether these channels should be available at all in the reference config
(#227 turns them off), and MCP (no content egress beyond the public API's
model).
Done in PR #270 (commit
521ea51, CI runs 555+556 green, fast-forward merged on Stefan's standing merge instruction).Evidence per channel (one test each):
Bonus fix ridden along: per-job container names for the fidelity CI sidecars (run 547's red fidelity job was a fixed-name collision between parallel runs; a fixed-name cleanup could even kill a sibling's live sidecars).