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
| Category | Setting Key | Purpose |
|---|---|---|
| AI & LLM | ANTHROPIC_API_KEY | Secret API key for Anthropic Claude planning & executive reports. |
| AI & LLM | ANTHROPIC_MODEL | Active Claude model identifier (default: claude-sonnet-4-5). |
| AI & LLM | OPENAI_API_KEY | API key for OpenAI or Venice AI compatible endpoints. |
| AI & LLM | LLM_BASE_URL | Custom OpenAI-compatible base URL for Venice AI or private LLM endpoints. |
| Agent Policy | AGENT_AUTO_APPROVE_LOW_RISK | Auto-approve non-destructive recon and vulnerability scanners (true/false). |
| Agent Policy | AGENT_REQUIRE_APPROVAL_HIGH_RISK | Require explicit operator approval before running metasploit, beef, or set. |
| SOC Broker | THEHIVE_URL / THEHIVE_API_KEY | Internal service endpoint and API key for TheHive case management. |
| SOC Broker | CORTEX_URL / CORTEX_API_KEY | Internal service endpoint and API key for Cortex observable analyzers. |
| SOC Broker | MISP_URL / MISP_API_KEY | Internal service endpoint and auth key for MISP threat intelligence sync. |
| SOC Broker | SHUFFLE_URL / SHUFFLE_API_KEY | Internal service endpoint and API key for Shuffle SOAR workflows. |
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 fromfreetoproorenterpriseinstantaneously—immediately unlocking higher monthly scan quotas and gated offensive engines. - User Lifecycle Management (
GET / PUT / DELETE /api/admin/users/<user_id>): Promote analysts toadmin, 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:
- The analyst submits a Tool Access Request (
POST /api/tool-access/request) specifying the tool name and business justification. - The request appears in the Admin Console → Access Requests queue (
GET /api/admin/tool-access/requests). - An administrator approves or denies the request (
POST /api/admin/tool-access/requests/<id>/decision) with an expiration window (expires_in_days, default7days), creating a time-boundToolAccessGrantrecord.
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_idandorg_idaction(e.g.,scan.create,tool.execute,admin.settings.update,admin.org.update,tool_access.decision)target_typeandtarget_id- Structured JSON
details, clientip_address, and UTCcreated_attimestamp.