Skip to main content

Class: StepUpAuthorizationManager

Defined in: security/StepUpAuthorizationManager.ts:93

Step-Up Authorization Manager.

Provides tiered authorization for tool execution with:

  • Global default risk tiers
  • Per-tenant overrides
  • Dynamic escalation triggers
  • Contextual overrides for trusted sessions
  • HITL integration for high-risk actions

Example

const authManager = new StepUpAuthorizationManager(
DEFAULT_STEP_UP_AUTH_CONFIG,
async (request) => {
// Send to UI/Slack for approval
return await hitlManager.requestApproval(request);
}
);

// Register tenant overrides
authManager.setTenantOverrides({
tenantId: 'acme-corp',
toolOverrides: new Map([['delete-all', ToolRiskTier.TIER_3_SYNC_HITL]]),
categoryOverrides: new Map([['system', ToolRiskTier.TIER_3_SYNC_HITL]]),
});

// Authorize a tool call
const result = await authManager.authorize({
tool: { id: 'send-email', displayName: 'Send Email', category: 'communication', hasSideEffects: true },
args: { to: '[email protected]', subject: 'Hello' },
context: { userId: 'user-1', tenantId: 'acme-corp' },
});

if (result.authorized) {
// Execute the tool
}

Constructors

Constructor

new StepUpAuthorizationManager(config?, hitlCallback?): StepUpAuthorizationManager

Defined in: security/StepUpAuthorizationManager.ts:116

Parameters

config?

Partial<StepUpAuthorizationConfig> = {}

hitlCallback?

HITLRequestCallback

Returns

StepUpAuthorizationManager

Methods

authorize()

authorize(request): Promise<AuthorizationResult>

Defined in: security/StepUpAuthorizationManager.ts:135

Authorizes a tool execution request.

When autoApproveAll is enabled in the config, all requests are immediately authorized as Tier 1 (autonomous) with no further checks. This covers skill tools, side-effect tools, capability-requiring tools, destructive commands, build commands, and every other tool type.

Parameters

request

ToolCallRequest

Returns

Promise<AuthorizationResult>


clearReviewedItems()

clearReviewedItems(): number

Defined in: security/StepUpAuthorizationManager.ts:679

Clears reviewed items from the queue.

Returns

number


getAsyncReviewQueue()

getAsyncReviewQueue(): readonly AsyncReviewItem[]

Defined in: security/StepUpAuthorizationManager.ts:643

Gets the async review queue.

Returns

readonly AsyncReviewItem[]


getConfig()

getConfig(): StepUpAuthorizationConfig

Defined in: security/StepUpAuthorizationManager.ts:721

Gets the current configuration.

Returns

StepUpAuthorizationConfig


getPendingReviews()

getPendingReviews(): AsyncReviewItem[]

Defined in: security/StepUpAuthorizationManager.ts:650

Gets pending review items.

Returns

AsyncReviewItem[]


getRiskTier()

getRiskTier(request): ToolRiskTier

Defined in: security/StepUpAuthorizationManager.ts:176

Returns the effective risk tier for a request without performing authorization side effects (no stats, no async-review queue, no HITL).

Useful for filtering tool exposure in headless/server modes.

Parameters

request

ToolCallRequest

Returns

ToolRiskTier


getStatistics()

getStatistics(): AuthorizationStatistics

Defined in: security/StepUpAuthorizationManager.ts:693

Gets authorization statistics.

Returns

AuthorizationStatistics


getTenantOverrides()

getTenantOverrides(tenantId): TenantRiskOverrides | undefined

Defined in: security/StepUpAuthorizationManager.ts:636

Gets tenant overrides.

Parameters

tenantId

string

Returns

TenantRiskOverrides | undefined


markReviewed()

markReviewed(itemId, decision): boolean

Defined in: security/StepUpAuthorizationManager.ts:657

Marks a review item as reviewed.

Parameters

itemId

string

decision
notes?

string

reviewerId

string

status

"approved" | "flagged" | "rejected"

Returns

boolean


removeTenantOverrides()

removeTenantOverrides(tenantId): boolean

Defined in: security/StepUpAuthorizationManager.ts:629

Removes tenant overrides.

Parameters

tenantId

string

Returns

boolean


resetStatistics()

resetStatistics(): void

Defined in: security/StepUpAuthorizationManager.ts:700

Resets statistics.

Returns

void


setTenantOverrides()

setTenantOverrides(overrides): void

Defined in: security/StepUpAuthorizationManager.ts:622

Sets tenant-specific risk overrides.

Parameters

overrides

TenantRiskOverrides

Returns

void