Security

Iro is built so a stranger's app is safe to install. The kernel owns trust: signature checks, consent, install, credentials, permissions and routing. Stores and catalogs only ever request.

What the kernel guarantees

Packages

Signed .iropkg files (Ed25519, key rotations, publisher pins that outlive uninstall). Only the kernel downloads (https only, ≤ 5 redirects, ≤ 100 MiB, checked in memory, unpacked from the same bytes). Updates need a newer version from the pinned key; anything else is refused, never shown. Rollback restores the kept version without granting anything new. Catalogs are static signed JSON; revocation disables the app but keeps its data.

Reporting a vulnerability

See SECURITY.md in the repo (disclosure address) once published. Do not open a public issue for a suspected vulnerability. The full threat model lives in the docs.