PolicyConfigExceptions

components/policy-config/Exceptions.vue

The shared Exceptions section — c65's replacement for enforcement-mode cascades: scoped, reasoned, expiring carve-outs (scope/value/reason/expires) with an add row. Fully controlled: emits @add(exception) / @remove(index); parent owns the array. PolicyConfigShell embeds it on every policy.

Exceptions

Scoped carve-outs with a reason and an expiry — accepted risk, on the record.

ScopeValueReasonExpires
hostlab-03.qpoint.devAir-gapped research machine — no tap possible2026-09-30
agentnightly-etlUnattended batch pipeline — reviewed 2026-07-022026-12-31
Empty — policy applies everywhere

Exceptions

Scoped carve-outs with a reason and an expiry — accepted risk, on the record.

ScopeValueReasonExpires
No exceptions — the policy applies everywhere.
components/policy-config/Exceptions.vue

Usage

<PolicyConfigExceptions :items = "[]" :scopes = "[agent,host,user,destination,adapter]" />

Props

PropTypeDefaultDescription
itemsArray[]{ scope, value, reason, expires }
scopesArray['agent','host','user','destination','adapter']Scope vocabulary for the add row

Events

EventDescription
addAdd clicked → { scope, value, reason, expires }
remove✕ clicked → index

Related

Qpoint Brand Style Guide