Dome Systems

dome guards

Author content-inspection Filters and Validators and assign them to model and MCP server connections

dome guards manages Guards — content-inspection definitions that redact, omit, or block governed traffic. Filters rewrite or withhold content in an ordered chain. Validators are pure predicates on tool connections. Text Filters attach to model connections; JSON Filters and Validators attach to MCP server (tool) connections.

Command
List Filtersdome guards filters list
Get Filterdome guards filters get <name-or-id>
List Filter versionsdome guards filters versions <name-or-id>
Create Filterdome guards filters create <name>
Update Filterdome guards filters update <name-or-id>
Rollback Filterdome guards filters rollback <name-or-id> --to-version <n>
Delete Filterdome guards filters delete <name-or-id>
List Validatorsdome guards validators list
Get Validatordome guards validators get <name-or-id>
List Validator versionsdome guards validators versions <name-or-id>
Create Validatordome guards validators create <name>
Update Validatordome guards validators update <name-or-id>
Rollback Validatordome guards validators rollback <name-or-id> --to-version <n>
Delete Validatordome guards validators delete <name-or-id>
List model Filtersdome models guards filters list <connection>
Set model Filtersdome models guards filters set <connection>
List tool Filtersdome tools guards filters list <connection>
Set tool Filtersdome tools guards filters set <connection>
List assigned Validatorsdome tools guards validators list <connection>
Add Validatordome tools guards validators add <connection>
Remove Validatordome tools guards validators remove <connection>

Editing a Filter deploys a new active version. Assigned connections pick it up on the next gateway sync — history is preserved and can be rolled back to.

Filter kinds

A Filter's kind is structural and immutable at create time.

KindAssignable toComponentActions
textModel connectionsOrdered text-content matchers (substring, SSN, credit card, phone, digits)redact, block
jsonMCP server (tool) connectionsOrdered JSON field-actions keyed by field nameredact, omit, block

Both kinds enforce fail-closed: a Filter whose stored config fails to decode blocks that (connection, direction) until the config is fixed. The gateway never relays unfiltered traffic.

Filters

List Filters

dome guards filters list

List the workspace's Filters, showing each one's active version and a compact config summary (e.g. redact[substring:"foo", ssn]; block[substring:"bar"] or omit[ssn, dob]; redact[email]).

Get Filter

dome guards filters get <name-or-id>

Show a single Filter's active version and config.

ArgTypeRequiredDescription
name-or-idstringYesFilter name (workspace-scoped) or UUID

List Filter versions

dome guards filters versions <name-or-id>

List the Filter's version history (newest first). Rollback-produced versions cite the source version id.

Create Filter

dome guards filters create <name>

Create a Filter — its first active version.

# Text Filter: redact SSNs and a substring, then block on another substring
dome guards filters create pii-redact \
  --description "Redact PII in model responses" \
  --redact-ssn \
  --redact-substring "internal-only" \
  --block-substring "TOP-SECRET"

# JSON Filter: omit and redact fields in tool arguments/results (via --config-from)
dome guards filters create tool-scrub --config-from ./tool-scrub.json
FlagTypeRequiredDefaultDescription
--descriptionstringNo—One-line description
--redact-substringstring (repeatable)Text only—Redact matches of this substring
--block-substringstring (repeatable)Text only—Block the response on a substring match
--redact-ssnboolText onlyfalseRedact US SSN patterns
--block-ssnboolText onlyfalseBlock the response on an SSN match
--config-frompath or -For JSON, or full-fidelity text—Read a protojson dome.guards.v1.FilterConfig from a file or stdin. Overrides the convenience flags.

The convenience flags build at most two components — a redact component and a block component, redact ordered first — and only produce text Filters. Use --config-from to author a JSON Filter or a multi-component text chain.

JSON Filter config example

tool-scrub.json
{
  "json": {
    "components": [
      {
        "field_actions": [
          { "matcher": { "key": "ssn" },   "action": "FILTER_ACTION_OMIT" },
          { "matcher": { "key": "dob" },   "action": "FILTER_ACTION_OMIT" },
          { "matcher": { "key": "email" }, "action": "FILTER_ACTION_REDACT" },
          { "matcher": { "key": "card" },  "action": "FILTER_ACTION_BLOCK" }
        ]
      }
    ]
  }
}

BLOCK withholds the whole message. OMIT removes the key and value. REDACT rewrites the value with a redaction sentinel. When multiple actions target the same key, BLOCK > OMIT > REDACT.

Update Filter

dome guards filters update <name-or-id>

Edit metadata in place, or deploy a new active version by passing any config flag. The old version is preserved in history and assigned connections follow the active version on the next gateway sync.

FlagTypeDescription
--namestringNew name for the logical Filter
--descriptionstringNew description
--redact-substring / --block-substring / --redact-ssn / --block-ssn / --config-from—Any config flag deploys a new active version

Pass at least one of name, description, or a config flag.

Rollback Filter

dome guards filters rollback <name-or-id> --to-version <n>

Roll a Filter back to an earlier version. The target version's config is copied forward into a new active version — history is never mutated.

FlagTypeRequiredDescription
--to-versionint32YesVersion number to roll back to

Delete Filter

dome guards filters delete <name-or-id>

Hard-delete a Filter and its connection assignments. Corrupt Filters can still be addressed by UUID even when their config fails to render.

Model Filter assignments

List model Filters

dome models guards filters list <connection>

List the text Filters assigned to a model connection, in chain order, grouped by direction.

ArgTypeRequiredDescription
connectionstringYesModel connection name

Set model Filters

dome models guards filters set <connection>

Replace the entire ordered Filter chain for one direction on a model connection. Only text-kind Filters may be assigned.

# Order matters — filters run in the given order
dome models guards filters set claude-prod \
  --direction response \
  --filters pii-redact,secrets-block

# Clear a chain
dome models guards filters set claude-prod --direction request --filters ""
FlagTypeRequiredDescription
--directionstringYesresponse (completions the agent receives) or request (the outbound prompt)
--filterscomma-separated listYesOrdered Filter names or UUIDs; empty clears the chain

request runs before dispatch to the upstream provider — a match can redact the prompt or block the call. response runs on the streamed completion; multi-chunk patterns are inspected inside the LLM outbound filter window.

Tool Filter assignments

List tool Filters

dome tools guards filters list <connection>

List the JSON Filters assigned to an MCP server (tool) connection, in chain order, grouped by direction.

ArgTypeRequiredDescription
connectionstringYesMCP server connection name

Set tool Filters

dome tools guards filters set <connection>

Replace the entire ordered Filter chain for one direction on a tool connection. Only json-kind Filters may be assigned.

# Scrub PII from tool arguments before they leave, and again from results
dome tools guards filters set github-mcp \
  --direction request \
  --filters tool-scrub

dome tools guards filters set github-mcp \
  --direction response \
  --filters tool-scrub
FlagTypeRequiredDescription
--directionstringYesresponse (tool result returned to the agent) or request (tool arguments before dispatch)
--filterscomma-separated listYesOrdered Filter names or UUIDs; empty clears the chain

request filters run over tool arguments before the call reaches the upstream MCP server — matched fields are redacted or omitted, or the whole call is blocked. response filters run over the tool result before the agent sees it.

Validators

List Validators

dome guards validators list

List the workspace's Validators, showing each one's active version and kind.

Get Validator

dome guards validators get <name-or-id>

Show a single Validator's active version and config.

ArgTypeRequiredDescription
name-or-idstringYesValidator name (workspace-scoped) or UUID

List Validator versions

dome guards validators versions <name-or-id>

List the Validator's version history (newest first).

Create Validator

dome guards validators create <name>

Create a Validator — its first active version. Config is protojson dome.guards.v1.ValidatorConfig only.

dome guards validators create require-user-id \
  --description "Require user_id on tool calls" \
  --config-from ./require-user-id.json
FlagTypeRequiredDescription
--config-frompath or -YesProtojson ValidatorConfig. Use - for stdin
--descriptionstringNoOne-line description

Kind (tool_request or tool_response) is derived from the config arm and is immutable.

Update Validator

dome guards validators update <name-or-id>

Edit metadata in place, or pass --config-from to deploy a new active version. Kind cannot change.

FlagTypeRequiredDescription
--namestringNoRename the Validator
--descriptionstringNoNew description
--config-frompath or -NoDeploy a new active version

Pass at least one flag.

Rollback Validator

dome guards validators rollback <name-or-id> --to-version <n>

Roll a Validator back to an earlier version. The target config is copied forward into a new active version.

FlagTypeRequiredDescription
--to-versionnumberYesVersion number to roll back to

Delete Validator

dome guards validators delete <name-or-id>

Hard-delete a Validator and its connection assignments.

Validator assignments

List assigned Validators

dome tools guards validators list <connection>

List Validators assigned to a tool connection, grouped by direction.

ArgTypeRequiredDescription
connectionstringYesMCP server connection name

Add Validator

dome tools guards validators add <connection>

Attach Validators to one direction on a tool connection. Attach is atomic. Response Validators are MCP-only.

dome tools guards validators add github-mcp \
  --direction request \
  --validators require-user-id
FlagTypeRequiredDescription
--directionstringYesrequest or response
--validatorscomma-separated listYesValidator names or UUIDs

Remove Validator

dome tools guards validators remove <connection>

Detach Validators from one direction on a tool connection. Detach is idempotent.

FlagTypeRequiredDescription
--directionstringYesrequest or response
--validatorscomma-separated listYesValidator names or UUIDs

On this page

Was this page helpful?