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

Tauri 2.0 Mobile IPC Scope Isolation and Origin Attestation

Mandates strict capability ACL scoping, webview origin attestation, and per-webview channel isolation in Tauri 2.0 mobile architectures. Enforces runtime cryptographic provenance checks on native plugin invocations to prevent unauthorized cross-origin access and IPC hijacking.

Prohibited Anti-Pattern: Wildcard Plugin Capabilities and Ambient IPC Access for Remote or Compromised Webviews

Export Ready-to-Drop Configuration

Select format below to copy code or download file directly.

---
description: Tauri 2.0 Mobile IPC Scope Isolation and Origin Attestation - Mandates strict capability ACL scoping, webview origin attestation, and per-webview channel isolation in Tauri 2.0 mobile architectures. Enforces runtime cryptographic provenance checks on native plugin invocations to prevent unauthorized cross-origin access and IPC hijacking.
globs: src-tauri/capabilities/**/*.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-scope-isolation"
---

# Tauri 2.0 Mobile IPC Scope Isolation and Origin Attestation

> **Severity**: CRITICAL | **Category**: mobile
> **Anti-Pattern Warning**: Wildcard Plugin Capabilities and Ambient IPC Access for Remote or Compromised Webviews

## System Constraints
You are a Principal Mobile Systems Architect and Security Engineer enforcing strict Tauri 2.0 IPC scope isolation and origin attestation. You must reject any configuration, capability definition, or IPC invoke pipeline that exposes native mobile plugins to arbitrary webview contexts or untrusted remote origins without explicit ACL bindings and cryptographic verification.

## Strict Guidelines
- Engineers MUST ALWAYS bind Tauri 2.0 capabilities to explicit webview and window labels using exact identifiers instead of wildcard patterns ('*').
- Engineers MUST NOT grant native plugin execution rights (such as Biometric, FileSystem, or Keychain) to remote origins or unattested external webview URLs.
- Code MUST validate caller origin and verify session-bound attestation tokens in Rust command handlers before dispatching execution to sensitive mobile OS APIs.
- Services MUST utilize Tauri 2.0 per-webview Channel abstractions for continuous data streaming rather than ambient global event emitting.
- Components NEVER execute raw Tauri core invoke calls with unauthenticated dynamic payloads derived directly from untrusted query parameters or postMessage handlers.

## Bad vs Good Implementations
### Tauri 2.0 IPC Attestation and Scoped Channel Invocation

#### Bad Antipattern (AI Common Hallucination)
> **Why it fails**: Directly calling native plugin commands via global invoke without verifying webview identity, passing an attestation nonce, or constraining channel scope exposes the mobile keychain to compromised subframes or injected remote scripts.
```typescript
import { invoke } from '@tauri-apps/api/core';

// ANTI-PATTERN: Ambient unauthenticated IPC invoke allowing cross-origin
// contexts or uncontrolled webview callers to access raw device storage/plugins
export async function writeSensitiveToken(secret: string): Promise<void> {
  // Insecure wildcard-scoped command execution without window provenance or attestation
  await invoke('plugin:secure-storage|set_item', {
    key: 'auth_token',
    value: secret,
  });
}
```

#### Production Standard (Correct)
> **Standard**: Transmits an ephemeral session attestation token to Rust command validation logic and uses an isolated Channel instance bound to the caller webview, ensuring the command strictly adheres to Tauri 2.0 capability isolation.
```typescript
import { invoke, Channel } from '@tauri-apps/api/core';

interface SecureWritePayload {
  readonly key: string;
  readonly value: string;
  readonly callerAttestationToken: string;
}

// PRODUCTION INVARIANT: Per-channel isolation with attestation token and explicit origin boundary
export async function writeSensitiveToken(secret: string, sessionNonce: string): Promise<void> {
  const onProgressChannel = new Channel<string>();
  onProgressChannel.onmessage = (status) => {
    console.info(`[IPC Attested Channel]: ${status}`);
  };

  const payload: SecureWritePayload = {
    key: 'auth_token',
    value: secret,
    callerAttestationToken: sessionNonce,
  };

  await invoke<void>('write_isolated_secure_vault', {
    payload,
    onProgress: onProgressChannel,
  });
}
```

Recommended MCP Servers (mcp-serverlist.com)

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

Architectural Specification & Invariant Rationale

Architectural Invariant Design: Tauri 2.0 Mobile IPC Scope Isolation and Origin Attestation

Tauri 2.0 Mobile IPC Scope Isolation and Origin Attestation defines an industrial-grade behavioral standard for mobile engineering. Mandates strict capability ACL scoping, webview origin attestation, and per-webview channel isolation in Tauri 2.0 mobile architectures. Enforces runtime cryptographic provenance checks on native plugin invocations to prevent unauthorized cross-origin access and IPC hijacking. 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 Plugin Capabilities and Ambient IPC Access for Remote or Compromised Webviews 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 Plugin Capabilities and Ambient IPC Access for Remote or Compromised WebviewsCritical
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 bind Tauri 2.0 capabilities to explicit webview and window labels using exact identifiers instead of wildcard patterns ('*').

Engineers MUST ALWAYS bind Tauri 2.0 capabilities to explicit webview and window labels using exact identifiers instead of wildcard patterns ('*').

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 grant native plugin execution rights (such as Biometric, FileSystem, or Keychain) to remote origins or unattested external webview URLs.

Engineers MUST NOT grant native plugin execution rights (such as Biometric, FileSystem, or Keychain) to remote origins or unattested external webview 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.
3

Code MUST validate caller origin and verify session-bound attestation tokens in Rust command handlers before dispatching execution to sensitive mobile OS APIs.

Code MUST validate caller origin and verify session-bound attestation tokens in Rust command handlers before dispatching execution to sensitive mobile OS APIs.

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

Services MUST utilize Tauri 2.0 per-webview Channel abstractions for continuous data streaming rather than ambient global event emitting.

Services MUST utilize Tauri 2.0 per-webview Channel abstractions for continuous data streaming rather than ambient global event emitting.

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

Components NEVER execute raw Tauri core invoke calls with unauthenticated dynamic payloads derived directly from untrusted query parameters or postMessage handlers.

Components NEVER execute raw Tauri core invoke calls with unauthenticated dynamic payloads derived directly from untrusted query parameters or postMessage handlers.

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 Scope Isolation and Origin Attestation critical for AI coding assistants?

Mandates strict capability ACL scoping, webview origin attestation, and per-webview channel isolation in Tauri 2.0 mobile architectures. Enforces runtime cryptographic provenance checks on native plugin invocations to prevent unauthorized cross-origin access and IPC hijacking. 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 Plugin Capabilities and Ambient IPC Access for Remote or Compromised Webviews) 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