๐Ÿ” Master Access

๐Ÿงญ Quick Start

loca.zone uses a guest-first, native-admin model:

NeedRouteAuthorityStatus
Operate Oh My Piomp.loca.zoneAuthelia master ownerโœ… Observed redirect
Bootstrap Triliumtrlm.loca.zone/set-passwordAuthelia, then Trilium native passwordโœ… Observed redirect
Use a public/guest surfaceIts normal public routeApplication policyโœ… Keep public
Administer a native-only appIts native sign-in pathThat applicationโ€™s break-glass admin๐Ÿ”’ Native only

Decision: keep native-only administrators. Do not present proxy identity headers as application roles.

๐Ÿ—บ๏ธ Access Map

flowchart TD
    request[Request] --> gate{Explicit Authelia boundary?}
    gate -->|Yes| login[auth.loca.zone]
    login --> owner[Master owner]
    owner --> restricted[Restricted route]
    gate -->|No| policy{Application route policy}
    policy -->|Public or guest| guest[Direct guest/public surface]
    policy -->|Native admin| native[Native sign-in]
    native --> role[Application-owned role]

๐Ÿ“Š Capability Matrix

ApplicationCurrent access modelFederation realityOperator rule
OMPWhole app is Authelia-gatedNot needed for its owner boundaryUse the master owner login
TriliumOnly /set-password is Authelia-gatedNative password remains authoritativeAuthenticate, then complete native bootstrap
FluxerNative wildcard admin preservedOIDC exists, but the native admin does not match the master owner and no safe unattended bootstrap existsKeep its native admin
PuterBuilt-in native admin preservedDeployed path lacks generic Authelia OIDC configurationKeep native admin
MattermostNative system admin preservedGeneric OIDC needs an active Enterprise license and explicit native-auth migrationKeep native admin
SurfSenseNative local authenticationNo generic OIDC or SAMLKeep native admin
AnythingLLMOpen single-user guest modeNo generic OIDC or SAML; multi-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 appโ€™s identity model, test native recovery, guest access, logout, expiry, restart, and rollback.

๐Ÿšถ Operator Journeys

JourneySafe path
OMP ownerOpen OMP โ†’ authenticate at Authelia โ†’ enter OMP.
Trilium bootstrapOpen the protected setup route โ†’ authenticate at Authelia โ†’ set the Trilium-native password.
Guest userOpen the applicationโ€™s public route directly; do not add a blanket Authelia gate.
Native administratorUse the applicationโ€™s own administrator login and retain it for recovery.

โœ… Verification Map

CheckExpected resultEvidence state
OMP without a sessionRedirect to Autheliaโœ… Observed
Trilium setup without a sessionRedirect to Autheliaโœ… Observed
SurfSense guest landingReachable without an Authelia gateโœ… Observed
Any future federation changeNative role, guest policy, recovery, rollback, and authenticated owner journey all passโณ Required before cutover