A browser you can prove is safe
Mira is built for IT, security and compliance buyers. Protections are enforced in the core and verified by automated test gates — not just documented in a PDF.
Defense-in-depth, end to end
Trust boundaries
Remote pages never receive raw native/Tauri APIs, local storage keys, policy signing keys or provider secrets. The renderer crosses into the Rust core only through typed, capability-scoped Tauri commands.
DLP & redaction
Prompt and context are scanned before any provider call. Credentials, secrets, payment cards, PII/PHI, source code and hidden page text are handled per guardrail policy.
Prompt-injection defense
Untrusted page content is treated as hostile: injection indicators are detected and blocked before they can drive an AI or agent action.
Encrypted local storage
Browser-local records are AES-GCM encrypted, scoped to tenant/profile/workspace, TTL'd, and reject credential-like content. Keys are OS-wrapped via the OS keychain through the Rust core.
Metadata-first audit
Decision, reasons, actor, route/context IDs, capability, domain and timestamps — streamable to SIEM / OpenTelemetry. Raw prompts, cookies, tokens and page content are not stored by default.
Kill switch & fail-closed
One central change drops a user, role, device or tenant: sessions end, the workspace locks, cached data wipes, and further access fails closed.
Five rules the core never breaks
The protected assets — tenant policy and central locks, SaaS session data, AI context, WebAgent definitions and run records, encrypted local records, audit metadata and provider secrets — are defended by hard boundaries.
- Remote pages are untrusted — No raw APIs, keys or secrets ever reach a remote page.
- Typed IPC only — Renderer actions cross into the Rust core only through typed, capability-scoped Tauri commands.
- AI calls are gated — Provider calls happen only after policy, context-scope, budget, DLP and prompt-injection checks all pass.
- Agents re-check at the boundary — WebAgent execution re-validates browser policy immediately before each automation driver call.
- Config must be verified — Config bundles must be signature-verified before they become trusted runtime policy.
Private by default
The defaults assume sensitive work. You opt in to more sharing, never the other way around.
- Prompt logging off by default — The bundled enterprise route does not log prompts, and provider fallback is off by default.
- Redact before send — Sensitive context is redacted locally before any provider call; a no-send gate blocks execution when policy says data must not leave.
- Visible-context inspector — Users and admins can verify exactly what the model is allowed to receive before sensitive use.
- Trusted time (NTP) — Admin-configured NTP keeps TTLs, tokens and audit timestamps from being spoofed.
Map to the frameworks that govern you
One-click presets and exportable, metadata-first evidence.
Security questions, answered
How is security verified, not just claimed?+
npm run test:security): no raw credentials/tokens/cookies reach providers; denied navigation, unsafe protocols, popups, downloads and guarded IPC fail closed; the Browser Core fallback never escapes the shell; and release artifacts are scanned for prompt/page/secret leakage.Which compliance frameworks does Mira support?+
What data leaves the device?+
Can admins export audit logs and cut access?+
Pass security review early
Get the threat model, evidence pack and control matrix, and run a fixed-scope pilot with your security team in the room.