Concepts

Security Boundaries

Userland control-plane, product, and app-runtime trust boundaries.

For agents: Keep control-plane credentials outside app code. Platform account membership authorizes CLI/API operations; app-user auth uses host-bound runtime cookies and reserved platform routes.

Planes

Platform account roles manage account-owned apps. App-user roles declared in manifest.userland.json manage users inside one published app and do not create platform account members.

Browser console sessions are separate from both API keys and app-user sessions. Console login sets __Host-ul_platform on console.userland.fun, never stores ap_live_... values in browser storage, and requires CSRF tokens for session-authenticated mutations. App-user auth stays on app origins with __Host-ul_session and /_userland/auth/*; those cookies and routes do not authenticate the console.

Runtime dispatch strips platform headers, ordinary cookies, internal headers, and control-plane credentials before app server code runs.

Public legal and policy placeholders are linked from the product site footer: Terms, Privacy, and Acceptable Use. They are draft pages pending legal review; security behavior in this document remains the implementation reference until final policy language is approved.