1. Overview

What a micro-app is

A micro-app is a local bundle (.nt2app zip or directory) containing:

  • manifest.json — identity, permissions, entry point, integrity hash, publisher signature
  • Static assets — HTML, CSS, JS loaded inside a sandboxed iframe (sandbox="allow-scripts" only; opaque origin)

The vault Host installs the bundle, shows a permission consent dialog, mounts your UI at /apps/{appId}/…, and bridges SDK calls to SQLite, crypto, and (gated) platform APIs. Your code never touches the vault database, OPFS, CryptoKey handles, or Tauri plugins directly.

Trust model

flowchart TB
 subgraph author["Your bundle (untrusted)"]
 HTML["index.html + assets"]
 MANIFEST["manifest.json"]
 end

 subgraph host["NT² vault host (trusted)"]
 INSTALL["Install — SRI + signature verify"]
 SANDBOX["Sandbox iframe"]
 SDK["vaultSdkHost — permission gate"]
 KERNEL["Kernel — crypto, repos"]
 end

 MANIFEST --> INSTALL
 INSTALL --> SANDBOX
 SANDBOX <-->|"postMessage"| SDK
 SDK --> KERNEL
 SANDBOX -.->|"blocked"| KERNEL

You control everything above the iframe boundary. The host enforces permissions, Writer rules, lock state, and field-level read/write masks at the SDK layer.

v1 constraints (read first)

Topicv1 rule
Install sourceLocal .nt2app file, signed catalog entry (Host fetches bundleUrl at install time), or dev fixture — no remote runtime JS
IsolationSandbox iframe + SDK RPC only — no parent-frame access
PermissionsExplicit slugs per category — no wildcards (items:list:* is invalid)
Data on uninstallSDK-created vault items remain — uninstall removes the bundle only
i18nEnglish-only inside third-party apps is acceptable; NT² does not translate your UI

Browse the community micro-app catalog. Return to the community hub.