Cloud portal new features
This guide covers new features added to the Arbitex cloud portal across recent releases. Each section describes how to find and use the feature.
Dark mode
Section titled “Dark mode”The portal now supports three theme modes: Light, Dark, and System. System mode follows your operating system’s appearance preference and switches automatically when you change it.
How to switch themes
Section titled “How to switch themes”Click the theme icon in the top-right header bar. A dropdown appears with three options:
| Option | Behaviour |
|---|---|
| Light | Portal always displays in light mode |
| Dark | Portal always displays in dark mode |
| System | Follows your OS prefers-color-scheme setting |
Your selection is saved to your browser’s local storage and to your user profile, so it persists across sessions and devices.
Keyboard support: The theme toggle is fully keyboard-accessible. Tab to the icon button, press Enter or Space to open the dropdown, then use Tab or arrow keys to navigate the options.
Implementation notes (admin context)
Section titled “Implementation notes (admin context)”The theme is applied via Tailwind’s dark class on the root <html> element and the data-theme attribute. CSS custom properties and component styles respond to these selectors. When a user changes their theme, it is saved to their profile_settings.theme field ("light", "dark", or "system") via the preferences API.
Anonymous IP insights
Section titled “Anonymous IP insights”The portal’s Audit Log view now surfaces anonymous IP detection data inline for each audit event. When the MaxMind Anonymous IP database is enabled on your Platform deployment, each request’s source IP is classified at ingestion time and stored with the audit record.
Where to find it
Section titled “Where to find it”Navigate to Admin → Audit Log. Expand any audit event row. In the event detail panel you will see an IP Enrichment section:
IP EnrichmentCountry: Netherlands (NL) AS65000City: AmsterdamVPN: ✓Proxy: —Tor: —Hosting: ✓ (datacenter/cloud)What the flags mean
Section titled “What the flags mean”| Flag | Meaning |
|---|---|
| VPN | IP belongs to a known VPN service provider |
| Proxy | IP is a known public or residential proxy |
| Tor | IP is a Tor network exit relay |
| Hosting | IP is a cloud/datacenter provider (AWS, Azure, GCP, Hetzner, etc.) |
Flags are not mutually exclusive — a VPN service operating from a datacenter will show both VPN and Hosting flags set.
When the Anonymous IP database is not loaded, all flags show as — (null). Requests are not blocked; the data is enrichment-only.
Filtering by anonymous IP
Section titled “Filtering by anonymous IP”The audit log filter panel includes an Anonymous IP section with checkboxes for each flag. Select one or more to show only audit events where the source IP matched those categories. This is useful for:
- Reviewing requests that bypassed corporate network controls (VPN/proxy)
- Identifying AI usage from non-corporate infrastructure (hosting flag)
- Monitoring for Tor-routed access attempts
Admin API filtering
Section titled “Admin API filtering”Use the audit events API to filter programmatically:
# Events from VPN IPs in the last 24 hoursGET /api/admin/audit-events?is_vpn=true&since=2026-03-11T00:00:00ZSee Anonymous IP detection for configuration and database setup.
API documentation page
Section titled “API documentation page”Status: Shipping with cloud-0039. Available in portal version ≥ 2039.
The portal will include a built-in interactive API documentation page at Admin → Developer → API Docs. This page renders the Platform’s OpenAPI specification using an interactive UI.
Features
Section titled “Features”- Full endpoint browser: All REST API endpoints grouped by tag (Auth, Conversations, DLP, Admin, Webhooks, etc.)
- Try it out: Authenticate with your API key and send real requests directly from the browser
- Schema viewer: Expand request and response schemas inline with all field types and constraints
- Code samples: Auto-generated
curl, Python, and JavaScript snippets for each operation
Access control
Section titled “Access control”The API docs page is available to all authenticated portal users. Only endpoints the user has permission to call will succeed when using “Try it out” — the documentation itself is read-only and always visible.
The page is available at /admin/api-docs within the portal, no external dependency required. The spec is served from /api/docs on the Platform backend.
DLP rule viewer
Section titled “DLP rule viewer”Status: Shipping with cloud-0039. Available in portal version ≥ 2039.
The DLP rule viewer is a read-only view of all active DLP rules, accessible to non-admin users who need to understand which data patterns their requests are inspected against.
How it differs from the DLP admin panel
Section titled “How it differs from the DLP admin panel”| Feature | DLP Admin (dlp-rules tab) | DLP Rule Viewer (cloud-0039) |
|---|---|---|
| Access | Admin only | All authenticated users |
| Create/edit/delete rules | Yes | No (read-only) |
| View rule definitions | Yes | Yes |
| Test rules against sample text | Yes | No |
| View compliance bundle membership | Yes | Yes |
| View match counts | Admin audit statistics | — |
What users can see
Section titled “What users can see”Each rule entry shows:
- Rule name and description
- Pattern type (regex, NER entity, keyword list, ML category)
- Severity level (low / medium / high / critical)
- Active/inactive status
- Compliance bundles the rule belongs to (HIPAA, SOC2, PCI-DSS, etc.)
Rule regex patterns and keyword lists are not shown to non-admin users — only descriptive metadata.
Navigation
Section titled “Navigation”Available from the user preferences menu → Data Policies or directly at /admin/dlp-viewer in the portal.
Related docs
Section titled “Related docs”- Anonymous IP detection — MaxMind database setup and audit log enrichment
- DLP rule testing — Admin-only rule testing panel
- API key management — Creating and managing API keys for API docs “Try it out”
- Portal operations — Model catalog, routing, and provider health views