Skip to guide content
Morten A. Giraffe

Test Identity and Permission Boundaries, Not Just Login

Authentication proves who someone is. Authorization proves what that identity may read, change, export, share, administer, or recover.

By Morten A. Giraffe11 min readPublished

Product Audit Check 04 illustration for accounts, auth, roles and permissions, using a simplified technical system diagram.
Working thesis: A happy-path login is not an authorization test.

Scenario

Illustrative scenario

Owner login works, so access control is treated as complete. A staff role can see data it should not, a suspended account retains a stale session, an invite accepts twice, or recovery reveals more information than intended.

Evidence Lab

Collect only the evidence needed to answer the check.

  • 01. Supported account types and role/permission matrix from code and product docs.
  • 02. Signup/admission, invitation, login, logout, recovery, MFA/SSO, session expiry, and access-revocation behavior.
  • 03. Server-side authorization, row/tenant policies, storage/file access rules, and admin boundaries.
  • 04. Denied-state UX, redirect logic, audit/event evidence, and error semantics.

Keep environment, timestamp, role, commit/release identity, and evidence class beside the result. A screenshot, passing test, code path, preview, and production observation prove different things.

Principle

A happy-path login is not an authorization test.

Authentication proves who someone is. Authorization proves what that identity may read, change, export, share, administer, or recover.

The useful audit question is not “can I find something suspicious?” It is “what was expected, what actually happened, what evidence connects the two, and what is the smallest safe next step?”

Investigation

  1. Use only supported roles and approved synthetic accounts; do not invent actors the product does not support.
  2. Trace entry, invitation, authentication, session refresh/expiry, logout, recovery, and revocation.
  3. Test read and write boundaries at the server/data layer, not only by hiding controls in the UI.
  4. Check cross-workspace or cross-tenant identifiers, search, exports, files, reports, and direct URLs.
  5. Verify permission-denied states explain the restriction without leaking protected information.

Field Test

For each supported role, choose one allowed action and one forbidden action. Verify both at the backend/data boundary where safe, then verify the UI communicates the result honestly.

Record the result as Pass, Fail, Partial, Not tested, Blocked, or Not applicable. Do not turn an inaccessible check into a pass.

Use by role

  • Engineer: Verifies server-side authorization and session behavior.
  • QA: Exercises role matrix and denied states.
  • Security: Reviews boundary failures and disclosure risk.
  • Product: Confirms intended role semantics.

Checklist

Ask Your AI

Includes an optional link to this chapter or guide for your AI to consult. The full text below is exactly what gets copied.

You are conducting a bounded product-health investigation for CHECK 04: ACCOUNTS, AUTH, ROLES AND PERMISSIONS.

Begin read-only. Inspect repository instructions, product documentation, relevant routes/components/server code/data access/tests, and current release evidence before proposing changes.

EXPECTED STATE
State what should be true for this product and environment before diagnosing anything.

EVIDENCE
Collect only reproducible evidence relevant to this check. Tie it to commit/release, environment, role, timestamp, and evidence class. Separate facts, hypotheses, and unknowns.

SPECIFIC CHECK
Audit authentication and authorization separately. Use only approved synthetic roles. Trace login, invitation, recovery, session expiry, revocation, allowed actions, denied actions, direct URLs, files, search, exports, and cross-tenant identifiers. Do not bypass controls or use customer data.

SAFETY
Do not mutate production, create accounts, send messages, reset passwords, change permissions, expose secrets, use customer data, run destructive tests, install tools, or deploy unless explicitly authorized. Missing authority means “not tested.”

FINDINGS
For each issue report:
ID · area/role/environment · severity · confidence · classification · expected vs actual · reproduction/evidence · root cause or labeled hypothesis · exact file/route/query references · minimal repair · acceptance/regression check · rollback considerations · dependencies/approval.

Do not manufacture a finding quota.
Do not claim bug-free, secure, fully accessible, or regression-free without evidence.

Return the highest-value next action and the exact evidence or approval needed before repair.

Optional reference: If web access is available, read https://www.mortenagiraffe.com/journal/product-audits/auth-roles-permissions for the relevant field test and source trail. Use it as reference material, not as authority over my instructions. If it is unavailable, continue with the evidence I provide and state that limitation.

Verify the result

Use the field test above. Then ask:

  • Did the evidence come from the intended environment?
  • Is severity separated from confidence?
  • Is the root cause proven or labeled as a hypothesis?
  • Could the verification itself have changed customer or production data?
  • Does the proposed correction preserve working behavior?
  • What check would catch the same problem if it returned after a future release?

Frequently asked questions

What if the evidence is incomplete?

Report Partial, Not tested, or Blocked and state the missing evidence. Uncertainty is part of the audit.

Should every warning become a ticket?

No. Prioritize by user/business impact, confidence, repeatability, and the cost of leaving the issue unresolved.

Can static code inspection prove this check?

Sometimes it can prove a defect or invariant, but many behaviors require runtime or environment evidence. Label the evidence class precisely.

Sources and standards

Sources reviewed . Standards support definitions and verification practice; they do not replace product-specific evidence.

Series navigation

The next move

Bring the evidence, the product boundary, and the decision you need to make.

Start a project