Private Test Sites Access
VPN at the edge · OpsAPI sign-in at the app

Keeping pre-production sites private, in two layers

Test and staging sites often hold real-looking data, yet many are protected only by an IP allowlist. This guide pairs a short blog for business readers with a tech note for engineers, plus an interactive view of the request path and the sign-in flow. All hosts and addresses are documentation placeholders.

Layer 1 · network

Where did the request come from?

A WireGuard key per person. The VPN hub sends traffic on from one office address, and the edges allow only that address. Everyone else gets 403.

Layer 2 · identity

Who sent it?

OpsAPI signs the person in once, with MFA, and every app follows. One directory, roles per workspace, self-hosted.

Five questions, five answers

Five stacked layers: is this device one of ours (WireGuard key per person); did it come through the VPN (edge access profile, office egress IP only); who is this person and did they pass MFA (OpsAPI sign-in); what may they do (OpsAPI workspace roles); can we remove them fast (remove the VPN peer and deactivate the OpsAPI user).

One thing to know first: SAML and OIDC

OpsAPI is not a SAML identity provider and not an OpenID Connect provider. There are no client registrations and no /authorize or /token endpoints, so a stock SAML or OIDC client can't use it directly. Apps integrate with a redirect to /auth/signin, a token at <app>/auth/callback, and a check with GET /auth/me.

Sources