IFClite TypeScript API
    Preparing search index...

    Interface AccessControlOptions

    interface AccessControlOptions {
        claimsPendingUntilJoin?: boolean;
        dir: string;
        maxClaimedRooms?: number;
        maxRateLimiters?: number;
        maxRevocationsForRelease?: number;
        mintRateCapacity?: number;
        mintRateRefillPerSecond?: number;
        now?: () => number;
        persistDebounceMs?: number;
        secret: string;
        trustForwardedFor?: boolean;
    }
    Index
    claimsPendingUntilJoin?: boolean

    Keep a fresh room's claim pending until its first join, so a failed creation can be released (POST /collab/release) or expire (#6581). Set it only when the server authenticates joins with serverOptions.authenticate (as is, or a wrapper that calls it): that is what confirms a joined room. Default off: every claim is permanent from its first mint, and a release answers 409.

    dir: string

    Data dir holding access-control.json (shared with rooms/blobs).

    maxClaimedRooms?: number

    Cap on claimed rooms, pending and confirmed together (default 100_000).

    maxRateLimiters?: number

    Bound on the per-IP limiter map (default 4096).

    maxRevocationsForRelease?: number

    Deny-list size past which a release is refused (default 1024), leaving the claim to expire instead. Revoke and kick are never refused.

    mintRateCapacity?: number

    Mint rate limit: burst capacity per client IP (default 30).

    mintRateRefillPerSecond?: number

    Mint rate limit: refill in tokens/second (default 0.5).

    now?: () => number

    Clock in ms since epoch (default Date.now), for minting, verifying and claim expiry.

    persistDebounceMs?: number

    Debounce for coalesced state writes, in ms (default 250).

    secret: string

    Token signing/verification secret (COLLAB_TOKEN_SECRET).

    trustForwardedFor?: boolean

    Honor X-Forwarded-For when rate-limiting mints (default OFF). Enable only behind a trusted reverse proxy — see TokenEndpointOptions.