Guide: dev audience tier leaks to MSP_ADMIN — should be BCOS-only #18

Closed
opened 2026-07-14 18:49:24 -04:00 by hiveiq · 0 comments
Owner

Follow-up to #16.

Problem

The dev audience tier is named for developers but MarkdownGuideService.visible() gates it through isInternal() = ROLE_MSP_ADMIN || ROLE_BCOS_ADMIN. So every MSP_ADMIN (a customer's service-provider admin) can read all dev-tagged content: per-service architecture (technical.* Overview), platform internals (platform.topology, platform.gotchas, platform.service-ownership, ...), agent-module internals, and dev Overview/Internal tabs.

#16 moved only Architect + Claude to bcos. The rest of the dev tier still leaks.

Decision (Johannes)

dev becomes BCOS_ADMIN-only, EXCEPT Testing, which stays MSP-visible.

Fix

  1. Code: in visible(), map dev to includeBcos (was includeInternal). internal stays MSP+BCOS.
  2. Content: retag the 66 Testing docs from audience: dev to audience: internal so MSP keeps them.

Resulting MSP_ADMIN visibility

  • Keeps: Customer, Internal (internal-tier), Testing.
  • Loses: Architect, Claude, dev-Internal, dev-Overview, and the technical.* / platform.* / agent.* / devops.* Overviews.

Scope

Guide is bcos.dev only; not in production. No prod change.

Follow-up to #16. ## Problem The `dev` audience tier is named for developers but `MarkdownGuideService.visible()` gates it through `isInternal()` = `ROLE_MSP_ADMIN || ROLE_BCOS_ADMIN`. So every MSP_ADMIN (a customer's service-provider admin) can read all `dev`-tagged content: per-service architecture (`technical.*` Overview), platform internals (`platform.topology`, `platform.gotchas`, `platform.service-ownership`, ...), agent-module internals, and dev Overview/Internal tabs. #16 moved only Architect + Claude to `bcos`. The rest of the `dev` tier still leaks. ## Decision (Johannes) `dev` becomes **BCOS_ADMIN-only**, EXCEPT Testing, which stays MSP-visible. ## Fix 1. Code: in `visible()`, map `dev` to `includeBcos` (was `includeInternal`). `internal` stays MSP+BCOS. 2. Content: retag the 66 `Testing` docs from `audience: dev` to `audience: internal` so MSP keeps them. ## Resulting MSP_ADMIN visibility - Keeps: Customer, Internal (internal-tier), Testing. - Loses: Architect, Claude, dev-Internal, dev-Overview, and the `technical.*` / `platform.*` / `agent.*` / `devops.*` Overviews. ## Scope Guide is bcos.dev only; not in production. No prod change.
hiveiq added the Security
Priority
High
labels 2026-07-14 18:49:24 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: hiveiq-src/hiveops-guide#18