Access control

loca.zone enforces a guest-first, native-admin operational model. Edge reverse-proxy authentication defines ingress boundaries and never fabricates application roles.

Gate Classifications

Ingress traffic is segmented across four edge protection tiers:

Gate kindApplicationsIngress mechanismOperator policy
Authelia forward-authcdsr, deek, icon, klbz, lllm (UI), midi, mxbx, odaw, omp, opmo, remotion.opmo, hyperframes.opmo, tndm, trlm (/set-password)Nginx forward-auth via auth.loca.zoneMaster owner credentials
HTTP basic authless (Paperless)Nginx auth_basic fileDedicated credentials
Application nativecode, elv3, flxr, less, lobe, loco (native Authelia OIDC, no edge gate), most, opno, team, yuanIn-app login and session managementApplication break-glass admin
Open or guestallm, khoj, pwiz (trusted-header identity), rckt, sflw (public showcase), surf, os (and static apps)Direct public proxy, trusted header, or guest surfacePreserve public guest experience

Operator Journeys

JourneySafe pathTarget URL
OMP ownerAuthenticate via Authelia then enter OMPomp.loca.zone
Trilium bootstrapOpen protected setup route with Authelia then set native passwordtrlm.loca.zone/set-password
Guest userDirect navigation without edge gateNormal public routes
Native administratorApplication-native login screen for break-glass operationsApplication admin URLs

Capability Matrix

ApplicationAccess modelFederation realityOperator rule
OMPWhole app is Authelia-gatedIngress boundary for ownerUse the master owner login
TriliumOnly /set-password is Authelia-gatedNative password remains authoritativeAuthenticate, then complete native bootstrap
FluxerNative wildcard admin preservedNative admin does not match master ownerKeep native admin
PuterBuilt-in native admin preservedDeployed path lacks generic Authelia OIDCKeep native admin
MattermostNative system admin preservedGeneric OIDC needs an active Enterprise licenseKeep native admin
SurfSenseNative local authenticationNo generic OIDC or SAMLKeep native admin
AnythingLLMOpen single-user guest modeMulti-user mode changes the guest contractKeep guest mode

Non-Negotiables

  • Preserve established public and guest routes.
  • Keep native break-glass administrators until a tested, application-native migration exists.
  • Treat reverse-proxy authentication as an ingress boundary, never as an application-admin role.
  • Remove unused federation experiments rather than retaining dormant credentials or client registrations.
  • Before changing an application identity model, test native recovery, guest access, logout, expiry, restart, and rollback.

Sources

  • /etc/nginx/sites-available/omp.loca.zone:1-40
  • /etc/nginx/sites-available/trlm.loca.zone:1-40
  • /etc/nginx/sites-available/auth.loca.zone:1-35
  • /home/loca/dev/wikis/loca/evidence/legacy-pages/master-access.md:1-74