#simulated-roomthis is how the strip renders above the room header

Classification banner builder

Compose the ABAC_Classification_Banners_Config document for Rocket.Chat. Add the attributes your rooms carry (e.g. from Virtru or LDAP), map each raw value to a display label and color, and the strip at the top renders live — exactly what members of a matching ABAC room will see. “Load example” shows the complete US-Government configuration from the design prototype.

Banner options

Global settings for the strip itself — how segments are joined, positioned, colored and typeset.

Attributes

One entry per room attribute that should appear in the banner. Segments render in list order, joined by the delimiter. An attribute produces a segment when the room carries at least one value for it; values without an explicit mapping render as their raw value.

Simulated room values

A pretend room for the live preview only — not part of the JSON. Pick which raw values the room carries per attribute, like assigning ABAC attributes to a room in Rocket.Chat. Type a value not in the mapping to see how unmapped values render raw.

Configuration JSON

Paste into Admin → ABAC → Settings → Classification banners → configuration (JSON) and enable the toggle.

Classification banners (ABAC)

Renders a US-Government-style classification banner above the room header in ABAC-managed rooms, driven by a JSON configuration stored in the ABAC_Classification_Banners_Config admin setting (Admin → ABAC → Settings), toggled by ABAC_Classification_Banners_Enabled.

The configuration is a public setting: it syncs to every logged-in client, and the banner is computed client-side from the room's abacAttributes and the configuration. Config or room-attribute changes propagate to open clients live, with no reload. Note the visibility tradeoff: any logged-in user can read the full configuration (all source keys and value→label/color mappings), so don't encode anything in it that members shouldn't see.

Configuration schema

Version 1 of the configuration is described by the JSON Schema with $id: https://rocket.chat/schemas/classification-banners/v1.json (published in the Rocket.Chat repository at ee/packages/abac/docs/classification-banners.schema.json). This builder generates and validates documents against that contract.

Semantics

Cross-field rules

These rules are part of the v1 contract and are validated by this builder (save-time enforcement in Rocket.Chat ships separately):

Example

The bundled example reproduces the design prototype's default state. For a room with clearance.level = [TS], access.programs = [SAP-1042, SAP-2271, SAP-3380], dissem.relto = [USA] it renders TOP SECRET // SAR-APPLES/BANANAS/ORANGES // RELTO USA on the Top Secret orange. Use Load example to open it in the builder and copy its JSON.

Replace your current work?

Import configuration