data-cap
    Preparing search index...

    Interface CapabilityDocs<TSchema>

    interface CapabilityDocs<TSchema extends DataSchema<FieldsShape>> {
        active?: boolean;
        auditRequired?: boolean;
        category?: string;
        dataResidency?: string | readonly string[];
        deprecated?: boolean;
        deprecatedReason?: string;
        description?: string;
        evidence?: { fields?: Readonly<Record<string, EvidenceFieldDocs>> };
        exclusiveGroup?: string;
        expiresAt?: string;
        fields?: CapabilityFieldDocs<TSchema["fields"]>;
        getters?: SchemaOperationDocs<TSchema, "getters">;
        legalBasis?: string;
        metadata?: Readonly<Record<string, unknown>>;
        mutators?: SchemaOperationDocs<TSchema, "mutators">;
        name?: string;
        owner?: string;
        protections?: string;
        purpose?: string;
        retention?: string;
        sensitivity?: string;
        subscriptions?: SchemaOperationDocs<TSchema, "subscriptions">;
    }

    Type Parameters

    Index
    active?: boolean

    Defaults to true when omitted. Gates exclusiveGroup conflict checks and manifest membership.

    auditRequired?: boolean

    Whether access to this capability's data is documented as requiring an audit trail. Declared only, same presence-only discipline as protections/retention. A field's own auditRequired overrides this for that field specifically.

    category?: string

    Free-form classification -- never validated.

    dataResidency?: string | readonly string[]

    The declared jurisdiction(s) this capability's data is permitted/ expected to be stored in -- a policy constraint, not an observed fact, not a processing-location claim, not a data-subject-location claim. A field's own dataResidency overrides this for that field specifically.

    deprecated?: boolean

    Whether this capability is documented as deprecated. Presence-only; nothing warns at runtime.

    deprecatedReason?: string

    Why this capability is deprecated, and what to use instead. Only meaningful alongside deprecated.

    description?: string

    Why this capability exists / what it's for.

    evidence?: { fields?: Readonly<Record<string, EvidenceFieldDocs>> }

    Developer-supplied evidence assertions -- verified over time, unlike every other field above, which is declared-only. Kept structurally separate for exactly that reason (see EvidenceFieldDocs).

    exclusiveGroup?: string

    Mutual-exclusivity group: more than one active capability sharing this value is a real conflict (only one implementation of a group should be live at once).

    expiresAt?: string

    When this capability's data (or the credential/source behind it) is declared to stop being valid, as an ISO-8601 date. A field's own expiresAt (see FieldDocs) overrides this for that field specifically. Declared only -- nothing expires at runtime.

    fields?: CapabilityFieldDocs<TSchema["fields"]>

    Per-field documentation, overriding this capability's own owner/sensitivity/protections where declared. Keys are checked against the schema's real fields shape.

    getters?: SchemaOperationDocs<TSchema, "getters">

    Per-getter documentation. Keys are checked against the schema's real getters names -- a nonexistent or misspelled getter name is a compile error.

    legalBasis?: string

    The declared legal basis asserted for processing this capability's data (e.g. "consent", "contract", "legitimate interest"). Records that a basis was declared -- never that data-cap has determined the basis is legally valid; data-cap records declared governance facts, it does not determine whether those facts satisfy a law. A field's own legalBasis overrides this for that field specifically.

    metadata?: Readonly<Record<string, unknown>>

    Free-form extension bag for anything data-cap itself has no named concept for -- opaque, never inspected or validated by any code path in this package (e.g. jurisdiction-specific regulatory classification: { regulatory: "GDPR,PCI-DSS" }). Once a concept matters enough for data-cap to reason about, it gets its own named field above (as purpose/legalBasis/dataResidency/auditRequired did); everything else stays here.

    mutators?: SchemaOperationDocs<TSchema, "mutators">

    Per-mutator documentation. Keys are checked against the schema's real mutators names.

    name?: string

    Display name -- falls back to the export/binding name when omitted.

    owner?: string

    Who's accountable for this capability. A field's own owner (see FieldDocs) overrides this for that field specifically.

    protections?: string

    Documented safeguard -- presence only, never an adequacy claim.

    purpose?: string

    The declared reason this capability's data is collected/retained. Declared only -- data-cap never verifies the stated purpose matches actual usage. A field's own purpose (see FieldDocs) overrides this for that field specifically.

    retention?: string

    Documented retention policy -- presence only, never an enforcement claim.

    sensitivity?: string

    Data classification. Standard vocabulary: "public" / "internal" / "confidential" / "restricted" (ascending) -- custom values are allowed but flagged as non-standard, never blocking.

    subscriptions?: SchemaOperationDocs<TSchema, "subscriptions">

    Per-subscription documentation. Keys are checked against the schema's real subscriptions names.