Skip to main content

Admin Console, Encrypted Vault & JIT Access

Platform administrators and organization owners manage multi-tenant boundaries, runtime secrets, tool access policies, and immutable audit trails through the Admin Console (/admin).


1. Encrypted Secret Vault (AppSetting)​

VulnerGuard includes an encrypted runtime configuration store backed by authenticated symmetric encryption at rest.

Why Use the Admin Vault?​

Instead of modifying static environment files or restarting services whenever an API key rotates, administrators can update credentials live via PUT /api/admin/settings in the Admin Console (/admin).

Managed Configuration Keys​

CategorySetting KeyPurpose
AI & LLMANTHROPIC_API_KEYSecret API key for Anthropic Claude planning & executive reports.
AI & LLMANTHROPIC_MODELActive Claude model identifier (default: claude-sonnet-4-5).
AI & LLMOPENAI_API_KEYAPI key for OpenAI or Venice AI compatible endpoints.
AI & LLMLLM_BASE_URLCustom OpenAI-compatible base URL for Venice AI or private LLM endpoints.
Agent PolicyAGENT_AUTO_APPROVE_LOW_RISKAuto-approve non-destructive recon and vulnerability scanners (true/false).
Agent PolicyAGENT_REQUIRE_APPROVAL_HIGH_RISKRequire explicit operator approval before running metasploit, beef, or set.
SOC BrokerTHEHIVE_URL / THEHIVE_API_KEYInternal service endpoint and API key for TheHive case management.
SOC BrokerCORTEX_URL / CORTEX_API_KEYInternal service endpoint and API key for Cortex observable analyzers.
SOC BrokerMISP_URL / MISP_API_KEYInternal service endpoint and auth key for MISP threat intelligence sync.
SOC BrokerSHUFFLE_URL / SHUFFLE_API_KEYInternal service endpoint and API key for Shuffle SOAR workflows.
Secret Masking

When querying GET /api/admin/settings, any secret value (is_secret=True) is never returned in plaintext to the browser; the API returns has_value: true and masks the secret value to prevent credential exposure.


2. Multi-Tenant Organization & Plan Management​

Administrators can view and manage all tenant organizations via /admin:

  • List & Inspect Organizations (GET /api/admin/orgs): View organization owners, member counts, current plan tier (free, pro, enterprise), and active status.
  • Live Plan Upgrades (PUT /api/admin/orgs/<org_id>): Upgrade an organization from free to pro or enterprise instantaneously—immediately unlocking higher monthly scan quotas and gated offensive engines.
  • User Lifecycle Management (GET / PUT / DELETE /api/admin/users/<user_id>): Promote analysts to admin, reset passwords, or deactivate accounts (is_active=False).

3. Just-In-Time (JIT) Tool Access Requests​

When an analyst on a restricted role or tier needs temporary access to a gated tool (such as sqlmap or metasploit) for an authorized engagement:

  1. The analyst submits a Tool Access Request (POST /api/tool-access/request) specifying the tool name and business justification.
  2. The request appears in the Admin Console → Access Requests queue (GET /api/admin/tool-access/requests).
  3. An administrator approves or denies the request (POST /api/admin/tool-access/requests/<id>/decision) with an expiration window (expires_in_days, default 7 days), creating a time-bound ToolAccessGrant record.

4. Immutable Security Audit Log (AuditLog)​

Every state-changing administrative or operational action is recorded in the immutable audit log (GET /api/admin/audit) with:

  • actor_user_id and org_id
  • action (e.g., scan.create, tool.execute, admin.settings.update, admin.org.update, tool_access.decision)
  • target_type and target_id
  • Structured JSON details, client ip_address, and UTC created_at timestamp.