RONIN INC

Ronin Inc  /  Security Doctrine

URLs are not permission.

A secure system checks authentication, authorization, tenant ownership, and permission scope on every sensitive request. Logging in once must never turn a private URL into a permanent access token.

01  /  The rule

Fail closed, always.

If a user logs in, copies a private URL, logs out, and pastes it back, the private resource must not appear. If changing an ID in a URL reveals another user's data, object-level authorization is broken. Ronin Inc treats this as a release-blocking failure.

02  /  Boundaries

Six checks on every request.

A/01

Authentication

Confirms who is making the request. This alone never grants access to private resources.

A/02

Authorization

Confirms whether the authenticated actor may perform the requested action.

A/03

Tenant ownership

Confirms the requested object belongs to the requesting user, account, merchant, or tenant.

A/04

Permission scope

Confirms the correct role, plan, entitlement, or explicit grant for the action.

A/05

Fail closed

If session, ownership, entitlement, or proof is missing, the request is denied — never guessed open.

A/06

Audit trail

Denied and approved attempts are recordable for investigation, replay, and governance review.

03  /  Required pattern

The access chain.

RequestSessionOwnershipPermissionGovernanceResponse

Frontend route guards help user experience, but backend authorization is the actual security boundary.