Documentation
    Preparing search index...

    Isomorphic RBAC and Field-Level Security Engine for Quatrain. Manages role hierarchies, route authorizations, payload sanitization, and M2M tarpitting.

    Index

    Constructors

    Properties

    tarpitManager: TarpitManager

    Dedicated manager handling rate-limiting, anomaly detection, and intentional tarpitting latency.

    Methods

    • Fast boolean check for route access.

      Parameters

      Returns boolean

    • Evaluates route access for a user context against a target URI and semantic action (or HTTP method).

      Parameters

      • user: RbacUserContext

        Authenticated user context.

      • uri: string

        Requested URI path.

      • actionOrMethod: string = 'READ'

        Semantic action ('READ', 'WRITE', 'UPDATE', 'DELETE') or HTTP method ("GET", "POST"...).

      Returns RouteEvaluationResult

      Detailed evaluation result including allow/deny decision and tarpit latency.

    • Computes the effective Field Access Mode ('hidden' | 'readonly' | 'readwrite') for a specific entity property across all assigned roles.

      Precedence: 'readwrite' (2) > 'readonly' (1) > 'hidden' (0).

      Parameters

      • user: RbacUserContext

        Authenticated user context.

      • entity: string

        Entity name (e.g. "okf-document").

      • property: string

        Property/field name (e.g. "soa", "internalNotes").

      Returns FieldAccessMode

      FieldAccessMode.

    • Registers a new role definition into the engine.

      Parameters

      Returns void

    • Resolves the full list of inherited and direct roles for a given set of role IDs.

      Parameters

      • roleIds: string[]

        Assigned role identifiers.

      • visited: Set<string> = ...

        Cycle detection tracker.

      Returns RoleDefinition[]

      Array of all active RoleDefinition instances.

    • Generic sanitization helper for either 'read' or 'write' operations.

      Type Parameters

      • T extends Record<string, any>

      Parameters

      Returns Partial<T>

    • Sanitizes an outgoing read payload by removing all properties marked as 'hidden'.

      Type Parameters

      • T extends Record<string, any>

      Parameters

      • user: RbacUserContext

        Authenticated user context.

      • entity: string

        Entity name.

      • payload: T

        Data object to sanitize.

      Returns Partial<T>

      Filtered object.

    • Sanitizes an incoming write payload by stripping any properties marked as 'hidden' or 'readonly'. Only properties explicitly in 'readwrite' mode are preserved.

      Type Parameters

      • T extends Record<string, any>

      Parameters

      • user: RbacUserContext

        Authenticated user context.

      • entity: string

        Entity name.

      • payload: T

        Incoming update data.

      Returns Partial<T>

      Safe object containing only writable fields.