This specification is maintained by the AgentRules Working Group. Have enhancements or want to claim maintainership?Submit Specification →
mobilecritical PriorityID: tauri-v2-mobile-ipc-acl-origin-confinement

Tauri 2.0 Mobile IPC ACL Origin Confinement & Scoped Capability Hardening

Tauri 2.0 introduces fine-grained Access Control Lists (ACLs) to bind native mobile platform capabilities to explicitly defined webview targets and verified origins. Permissive wildcards in capability manifests allow unauthorized third-party iframes or unexpected webview navigations to invoke privileged native OS plugins (biometrics, storage, camera). Production mobile applications must confine all native capabilities strictly to declared local frame origins and deterministic window labels.

Prohibited Anti-Pattern: Wildcard Capability Manifests Granting Arbitrary Webview Frames Unconfined Native OS Access

Export Ready-to-Drop Configuration

Select format below to copy code or download file directly.

---
description: Tauri 2.0 Mobile IPC ACL Origin Confinement & Scoped Capability Hardening - Tauri 2.0 introduces fine-grained Access Control Lists (ACLs) to bind native mobile platform capabilities to explicitly defined webview targets and verified origins. Permissive wildcards in capability manifests allow unauthorized third-party iframes or unexpected webview navigations to invoke privileged native OS plugins (biometrics, storage, camera). Production mobile applications must confine all native capabilities strictly to declared local frame origins and deterministic window labels.
globs: src-tauri/capabilities/**/*.json, src-tauri/tauri.conf.json, src-tauri/src/**/*.rs, src/**/*.{ts,tsx}
alwaysApply: true
verified_by: "agentrules.org"
license: "CC-BY-4.0"
source: "https://agentrules.org/rules/tauri-v2-mobile-ipc-acl-origin-confinement"
---

# Tauri 2.0 Mobile IPC ACL Origin Confinement & Scoped Capability Hardening

> **Severity**: CRITICAL | **Category**: mobile
> **Anti-Pattern Warning**: Wildcard Capability Manifests Granting Arbitrary Webview Frames Unconfined Native OS Access

## System Constraints
You are a Principal Security Architect enforcing Tauri 2.0 Scoped IPC ACL Hardening. Never allow wildcard ('*') window bindings or unverified remote origins in mobile capability manifests. Enforce principle of least privilege across all mobile native plugin capabilities.

## Strict Guidelines
- Engineers MUST ALWAYS isolate native capabilities to explicit window labels and strict origin schemes (e.g., 'tauri://localhost' or 'https://tauri.localhost') in capability manifests.
- Engineers MUST NOT use wildcard values ('*') in the 'windows' or 'remote.urls' arrays within any Tauri capability file.
- Engineers MUST partition capabilities by privilege level into distinct JSON/TOML capability manifests rather than using a single monolithic default capability.
- Code SHOULD enforce strict Content Security Policy (CSP) headers in 'tauri.conf.json' preventing frame injection and unauthorized external script execution.
- Services MUST validate that sensitive IPC commands (biometrics, secure storage, hardware sensors) require scoped permissions and cannot be triggered by untrusted remote URLs.

## Bad vs Good Implementations
### Tauri 2.0 Capability Manifest Hardening (src-tauri/capabilities/mobile.json)

#### Bad Antipattern (AI Common Hallucination)
> **Why it fails**: Using '*' in the 'windows' array attaches high-privilege native capabilities (biometrics, file system) to all webview instances and external popups/iframes, enabling cross-context privilege escalation if any webview navigates to or loads untrusted remote content.
```json
{
  "$schema": "../gen/schemas/desktop-schema.json",
  "identifier": "mobile-capabilities",
  "description": "Anti-pattern: Permissive wildcard capability manifest allowing any window or origin",
  "windows": ["*"],
  "permissions": [
    "core:default",
    "biometric:default",
    "fs:default"
  ]
}
```

#### Production Standard (Correct)
> **Standard**: Binds specific, granular permissions strictly to the explicit 'main' mobile webview window and enforces directory path constraints on filesystem operations, eliminating privilege escalation from unauthorized windows or frames.
```json
{
  "$schema": "../gen/schemas/desktop-schema.json",
  "identifier": "mobile-capabilities",
  "description": "Production-grade: Strictly bounded capability confined to primary mobile webview",
  "windows": ["main"],
  "permissions": [
    "core:default",
    {
      "identifier": "biometric:authenticate",
      "allow": []
    },
    {
      "identifier": "fs:allow-read-text-file",
      "allow": [{
        "path": "$APP_DATA/documents/*"
      }]
    }
  ]
}
```

Recommended MCP Servers (mcp-serverlist.com)

Equip agent with system tools to verify code for this stack.

Recommended Agent Skills (askills.dev)

Ready-to-use executable skill functions tailored to this stack.

Architectural Specification & Invariant Rationale

Architectural Invariant Design: Tauri 2.0 Mobile IPC ACL Origin Confinement & Scoped Capability Hardening

Tauri 2.0 Mobile IPC ACL Origin Confinement & Scoped Capability Hardening defines an industrial-grade behavioral standard for mobile engineering. Tauri 2.0 introduces fine-grained Access Control Lists (ACLs) to bind native mobile platform capabilities to explicitly defined webview targets and verified origins. Permissive wildcards in capability manifests allow unauthorized third-party iframes or unexpected webview navigations to invoke privileged native OS plugins (biometrics, storage, camera). Production mobile applications must confine all native capabilities strictly to declared local frame origins and deterministic window labels. Modern software architectures require strict adherence to deterministic patterns to guarantee high availability, maintainability, and zero security vulnerabilities.

Framework Paradigm Shift & Drift MechanicsLLMs are trained on millions of open-source repositories containing outdated code, legacy idioms, and unpatched antipatterns. When coding assistants generate implementations for this stack, they default to common statistical tokens: Wildcard Capability Manifests Granting Arbitrary Webview Frames Unconfined Native OS Access Without an explicit system instruction file, developers spend hours debugging silent failures.
Failure Modes & Production Blast Radius

Hazard Analysis: What Breaks Without This Rule

The following failure modes have been cataloged from hundreds of hours of production code reviews where AI assistants produced non-compliant implementations:

Failure ModeAI Symptom (The Anti-Pattern)SeverityProduction Impact & Remedy
AI Hallucination & Deprecation DriftWildcard Capability Manifests Granting Arbitrary Webview Frames Unconfined Native OS AccessCritical
Violating this industrial standard introduces regression bugs, security risks, and unexpected runtime failures in production.
Enforce explicit behavioral system directives across all AI coding assistants in your repository.
Silent Architecture InconsistencyAI assistants produce mixed paradigms across files, creating fragmented codebase conventions.Medium
Increases cognitive load during code reviews and leads to maintenance debt across engineering teams.
Pin project conventions in .cursor/rules, CLAUDE.md, and AGENTS.md so all team agents follow identical guardrails.
Architectural Directives in Detail

Step-by-Step Production Directives

Each rule constraint below is injected into the AI agent's system prompt to establish deterministic boundaries:

1

Engineers MUST ALWAYS isolate native capabilities to explicit window labels and strict origin schemes (e.g., 'tauri

Engineers MUST ALWAYS isolate native capabilities to explicit window labels and strict origin schemes (e.g., 'tauri://localhost' or 'https://tauri.localhost') in capability manifests.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
2

Engineers MUST NOT use wildcard values ('*') in the 'windows' or 'remote.urls' arrays within any Tauri capability file.

Engineers MUST NOT use wildcard values ('*') in the 'windows' or 'remote.urls' arrays within any Tauri capability file.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
3

Engineers MUST partition capabilities by privilege level into distinct JSON/TOML capability manifests rather than using a single monolithic default capability.

Engineers MUST partition capabilities by privilege level into distinct JSON/TOML capability manifests rather than using a single monolithic default capability.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
4

Code SHOULD enforce strict Content Security Policy (CSP) headers in 'tauri.conf.json' preventing frame injection and unauthorized external script execution.

Code SHOULD enforce strict Content Security Policy (CSP) headers in 'tauri.conf.json' preventing frame injection and unauthorized external script execution.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
5

Services MUST validate that sensitive IPC commands (biometrics, secure storage, hardware sensors) require scoped permissions and cannot be triggered by untrusted remote URLs.

Services MUST validate that sensitive IPC commands (biometrics, secure storage, hardware sensors) require scoped permissions and cannot be triggered by untrusted remote URLs.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
Technical Questions & Answers

Frequently Asked Technical Questions

Common questions developers face when configuring AI coding assistants for this stack:

Q:Why is Tauri 2.0 Mobile IPC ACL Origin Confinement & Scoped Capability Hardening critical for AI coding assistants?

Tauri 2.0 introduces fine-grained Access Control Lists (ACLs) to bind native mobile platform capabilities to explicitly defined webview targets and verified origins. Permissive wildcards in capability manifests allow unauthorized third-party iframes or unexpected webview navigations to invoke privileged native OS plugins (biometrics, storage, camera). Production mobile applications must confine all native capabilities strictly to declared local frame origins and deterministic window labels. Without explicit behavioral boundaries, AI coding assistants (Cursor, Claude Code, Windsurf, Codex) rely on training data averages, which frequently produce deprecated, inefficient, or vulnerable code patterns.

Q:How does adopting this rule prevent AI hallucinations?

This rule explicitly declares what the AI must avoid (Wildcard Capability Manifests Granting Arbitrary Webview Frames Unconfined Native OS Access) and prescribes verified positive examples. Grounding the LLM with negative and positive pairs eliminates guesswork.

Q:Which AI coding environments are supported?

This specification is multi-platform compatible: Cursor (.cursor/rules/*.mdc & .cursorrules), Anthropic Claude Code (CLAUDE.md), Windsurf (.windsurfrules), Codex / Cline (AGENTS.md), and GitHub Copilot (.github/copilot-instructions.md).

Q:Can I combine this rule with other technology stacks?

Yes. Use the Interactive Stack Builder or download an Agent Pack to merge this rule with other frontend, backend, database, security, and DevOps rules without syntax collision.

Open Specification · CC BY 4.0·Free for Personal, Team & Commercial In-Repo Use

Citation & Open Source Attribution Guidelines

This specification is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). You are completely free to adapt and share this rule in your workspace. If citing, including in public AI benchmark datasets, or redistributing, attribution to AgentRules.org is required.

Related MOBILE Rules

View all rules →
1 Rule in Stack

Tauri