WebFrolic field notes · 41 articles

Ideas for building identity systems that hold together.

Practical, technically grounded perspectives on identity flows, tenant boundaries, authentication, access governance and security operations. Each article starts with a real design question and ends with something teams can test or take into a review.

41Editorial articles
12Topic areas
Practicalreview points in every article

The library

Find the question you are working on.

Use search or select a topic. Each article includes a short flow and practical review points.

Curated reading paths

Follow a topic from principle to implementation.

Short, connected reading journeys for the questions teams most often need to evaluate.

Showing all 41 articles

Illustration of a legitimate browser session and a replayed session evaluated by a continuous identity shield.

Security controls · Session protection

Securing with Continuous Identity

A valid session can be stolen after sign-in. Explore how continuous session fingerprinting, active-session limits and network firewall policies work together to detect and contain replay.

7 min readARTICLE 41
Read article
Illustration for article: Considering the one-time password

Identity architecture · Visual essay

Considering the one-time password

Email, SMS, push, HOTP and TOTP wear the same name but fail differently. The popular choice stores a symmetric key the server must be able to use — which is closer to plain text than to a password hash.

9 MIN READARTICLE 39
Read article
ADD-ONSTWO SYSTEMSONE FOUNDATION

Identity architecture · Visual essay

The Identity House: One Foundation, Separate Doors

A three-part visual essay on identity sprawl, the fragile bridge between customer and workforce systems, and a shared identity model with rules suited to each identity type.

7 min readArticle 38
Read article
BORROWED CREDENTIALSERVICE IDENTITYPassword in a vault, severalholdersKey carries its owner’spermissionsOutlives the task and thepersonNo credential of its ownScope chosen for the task,with expiryAgent and human both named inaudit

Identity architecture

Your AI agent is an identity, not a borrowed password

When an agent calls an internal API, whose identity is it using? For most teams the answer is a shared service account or a key carrying one person’s permissions.

7 MIN READARTICLE 35
Read article
APPLIED TO EMPLOYEES• Joiner and leaver process• Access reviews• Assurance requirements• Named ownershipOFTEN MISSING FOR MACHINES• No owner of record• No review cycle• No expiry

Identity architecture

Machine identities already outnumber people, and almost none are managed

We matured how employees get access. Almost none of that machinery was ever pointed at the identities doing most of the work.

6 MIN READARTICLE 36
Read article
AGENT NAMEDHUMAN NAMEDSCOPE RECORDEDShared service account✓——Personal API key———Service identity, assumed✓✓✓

Identity architecture

Who did this — the agent or the person?

“The integration did it” is where too many incident reviews stop. Dual attribution is what makes automated action reviewable.

6 MIN READARTICLE 37
Read article
STATE ON THE CLIENTSTATE ON THE SERVERServer holds the current stepHistory reconstructed from atokenFlows assembled out of orderPast, current and permittednextTransitions checked againstrulesNested ceremonies inheritpreconditions

Identity architecture

Designing identity flows as transactions

Signup, authentication, enrollment and recovery are not interchangeable screens. They are connected state transitions, and the security of the journey depends on the sequence being valid.

3 min readArticle 01
Read article
PLATFORMTENANT ORGANISATIONTENANT GROUPS AND ROLESA MEMBER OF THAT TENANT

B2B SaaS

Tenant-aware identity is more than a tenant ID

For B2B software, each customer organisation has its own people, groups, domains and administration boundaries. A tenant label alone does not define or enforce those boundaries.

3 min readArticle 02
Read article
SHARED ACCOUNTSERVICE IDENTITYPassword known to severalpeopleAudit names only the accountRarely rotatedLeaves with whoever leavesNo credentials of its ownOne assumer at a timeOriginal user on every actionAssignment carries an end date

Operations

Service identities and the end of shared credentials

Shared operational accounts make it difficult to attribute actions, rotate credentials and maintain integrations after team members leave. A named service identity changes the question from “who knows the password?” to “what is this identity allowed to do?”

3 min readArticle 03
Read article
SUPPORT CAN RESETSUPPORT CAN ONLY ADDExisting credential destroyedOwner locked out and silentAttack completes unnoticedExisting credentials stillworkOwner notified at the timeAttack visible before it lands

Security operations

Security belongs in the support workflow

Support teams help people regain access and resolve account issues. Those powers also create a target for social engineering, so support procedures should be treated as part of the identity security design.

3 min readArticle 04
Read article
TWO SYSTEMSONE IDENTITY MODELWorkforce SSO for staffCustomer portal for everyoneEmployee holds bothPrivileges on the consumersideA person is modelled onceClassification sets the rulesEmployee controls follow thepersonLeaving closes both at once

Identity lifecycle

The Hidden Risk of Employee Accounts in Customer Portals

When a customer becomes an employee, the identity crosses a trust boundary. If the transition is treated as a simple role change, yesterday’s privileges can remain in the wrong place.

3 min readArticle 05
Read article
T+0Leaver flagged inthe directoryT+1mGroup membershipremovedT+1mRoles and keysissued under themrevokedT+5mSessionsterminateddownstream

Identity lifecycle

Offboarding Is Not Complete Until Access Is Revoked

A departure notice is not an access-control operation. Reliable offboarding finds every path that granted access and proves it has been removed or intentionally retained.

3 min readArticle 06
Read article
Day 1Access granted fora projectMonth 4Project ends,access staysMonth 9Role changes,nothing removedMonth 14Review finds it,nobody knows why

Governance & compliance

Access Reviews That Catch Permission Drift Before It Becomes an Incident

An access review should be more than a periodic approval spreadsheet. Its purpose is to compare today’s permissions with the work a person is expected to do and remove grants that no longer make sense.

3 min readArticle 08
Read article
ACCESS WITH NO ENDACCESS THAT EXPIRESGranted for one taskPresent two years laterRemoved when a review noticesCarries an end dateRemoves itselfReviews cover only thepermanent

Governance & compliance

When Should Access Expire? Designing Time-Bound Access Assignments

Access needed for a short task should not become permanent by default. Expiry is a policy decision: choose where time limits help, how exceptions work and how enforcement is verified.

3 min readArticle 09
Read article
WHAT THE DASHBOARD SAYSWHAT THE FACTORS AREMFA enabledTwo factors registeredShown as compliantBoth delivered to one inboxShared failure modeNot independent, so not AAL2

Authentication & passkeys

MFA Is Not a Checkbox: Understanding Authenticator Assurance Levels

Counting authentication steps is not the same as measuring assurance. Teams need to understand what each authenticator proves, how factors differ and which operations need stronger evidence.

3 min readArticle 10
Read article
AAL1Any single authenticatorAAL1_StrongTwo of the same typeAAL2Two of different typesAAL2_StrongDifferent types, one phishing-resistantAAL3Phishing-resistant and device-bound

Authentication & passkeys

Two Authenticators Do Not Always Mean Two Factors

Two prompts can still rely on one kind of evidence. Understanding the difference between authenticator count and factor diversity helps teams set MFA policy without overstating protection.

3 min readArticle 11
Read article
Any passkeyAccepted from any authenticatorKnown vendorsAAGUID allow list appliedDevice-bound onlySynced credentials refusedAttested modelsSpecific authenticators permitted

Authentication & passkeys

Passkeys and Security Keys: What Attestation Can Actually Verify

Passkeys and security keys can improve sign-in security, but device trust depends on more than the presence of a public-key credential. Attestation and user-verification policy need a clear purpose.

3 min readArticle 13
Read article
WHERE THE KEY WORKS• Your VPC egress range• The scheduler host• A named office networkWHERE A COPY IS INERT• Anywhere else• Any stolen laptop• Any other country

API & protocols

API Keys Need Network Boundaries, Not Just Secret Storage

A well-protected secret can still be replayed from the wrong place. Network restrictions add another boundary by limiting where a credential is accepted.

3 min readArticle 15
Read article
Authorization codeinterceptedAttacker exchangesitWithout PKCE:token issuedWith PKCE:verifier missing,refused

API & protocols

PKCE, and why OAuth 2.1 stopped making it optional

PKCE binds an authorization-code exchange to the client that initiated it. Making it a default changes the question from “Did we remember?” to “Is there a reviewed reason not to?”

3 min readArticle 17
Read article
NowPrimarycertificate in useAddSecondarypublishedalongsideSwitchPrimary rotated,secondary acceptedRetireOld certificateremoved

API & protocols

SAML Certificate Rotation Without an Authentication Outage

Certificate rotation is routine trust maintenance that can become an incident if every participant changes state at the same moment. Plan for overlap, validation and rollback before expiry forces the issue.

3 min readArticle 18
Read article
WHO THE USER ISWHAT MAY BE ACCESSEDTOKEN FOR AN APIOpenID Connect✓——OAuth 2.1—✓✓Both together✓✓✓

API & protocols

OIDC vs. OAuth 2.1: Choosing the Right Flow for Your Application

OIDC adds an authentication layer on top of OAuth 2.1, while OAuth 2.1 is primarily an authorization framework. Choosing between them starts with what the application needs to know or do.

3 min readArticle 19
Read article
EVALUATED LOCALLY• Per user• Per session• Per tenant• Per IP address• Per operationNOT REQUIRED• Reputation lookups• External risk APIs

Security controls

Rate Limiting Beyond Login: Five Layers of Identity Protection

Rate limiting can slow credential stuffing, limit abuse of recovery flows and buy response time after account compromise. A single global threshold rarely fits every identity and operation.

3 min readArticle 20
Read article
LOGGING ADDED LATERCAPTURE IN THE ARCHITECTUREEvents recorded independentlyRelationships inferred fromtimestampsGaps where nobody added a callNo action without a recordNested transactions keep theirrelationshipUser, session and device onevery entry

Security controls

Audit Trails by Design: What Every Identity Action Should Record

An audit trail is most valuable when it is built into how actions happen, not added later to satisfy a reporting request. It should answer who did what, to which resource, under which context, and why the system allowed it.

3 min readArticle 22
Read article
Listevery active session, with device and locationAttributewhich credential and assurance established itRevokeindividually or all at onceRetainpast sessions for investigation

Security controls

Session Visibility Is a Security Control, Not Just a Convenience

Users and administrators need to know where an identity is active, how to revoke access and what remains valid after a sensitive event.

3 min readArticle 23
Read article
EVERY ACCOUNT IN THE SYSTEMACCOUNTS USING THAT AUTHENTICATORACCOUNTS ENROLLED DURING THE WINDOWACCOUNTS THAT USED IT TO ESCALATE

Security controls

Limiting the Blast Radius of an Authenticator Incident

When an authenticator or policy is found to be flawed, the response must identify affected identities, contain exposure and restore assurance without treating every account as identical.

3 min readArticle 24
Read article
CUSTOMEREMPLOYEEADMINISTRATORSelf-service deactivation✓——Can be impersonated✓——Edits own profile in console✓✓—Network rules applied—✓✓

Architecture & administration

Designing Different Authentication Policies for Customers, Employees and Administrators

Customers, employees and administrators do not face the same risks or responsibilities. One global authentication policy can burden everyone or under-protect identities with the greatest authority.

3 min readArticle 25
Read article
ADMIN EDITS OWN PROFILESEPARATION ENFORCEDCan raise own assuranceexemptionCan alter own contact routesCompromise becomes self-sustainingProfile changes go throughaccount contextAnother administrator isinvolvedEscalation leaves a secondtrail

Architecture & administration

Why Administrators Should Not Be Able to Edit Their Own Profiles

Self-service is useful, but an administrator changing information that determines their own authority can create a conflict of interest. Sensitive profile changes need a controlled path.

3 min readArticle 26
Read article
Domain marks theuser as testExcluded from realdeliveryCodes read over theAPIDeleted on scheduleCONTINUOUS

Architecture & administration

Why Test Users Need a Separate Lifecycle

Test accounts are useful only when they behave predictably, stay out of privileged paths and disappear when no longer needed. Treating them as ordinary users with a label misses their special risk.

3 min readArticle 27
Read article
01Mark a test domain02Create a test user03Read the code overthe API04Assert the fulljourney

Architecture & administration

OTP Testing Without Real Email or SMS Delivery

Automated identity tests need repeatable verification, but test conveniences must not become a backdoor into real accounts. Keep OTP retrieval scoped, auditable and isolated.

3 min readArticle 28
Read article
VALIDATEDENCRYPTEDPERMISSIONEDDisplay name✓——National ID✓✓✓Internal risk note✓✓✓

Architecture & administration

Configurable Profile Attributes Without Losing Governance

Custom attributes help a product adapt to different organisations, but every new field raises questions about ownership, validation, visibility and policy impact.

3 min readArticle 29
Read article
Evidenceproduced as a by-product of the controlControlenforced by the platform, not by policyRequirementmapped once, not per auditAuditreads the trail rather than a spreadsheet

Governance & compliance

Compliance Begins in the Product Architecture

Evidence is easier to produce when the product records meaningful events as work happens. Compliance becomes harder when teams must reconstruct decisions from incomplete logs and manual spreadsheets.

3 min readArticle 30
Read article
Request with astated purposeApproval records thereasonProvisioning appliesthe grantReview reads theoriginal reasonCONTINUOUS

Governance & compliance

Access Requests, Reviews and Approvals as a Single Governance Loop

Requesting access, approving it and reviewing it later are often treated as separate jobs. Connecting them creates a clearer record of why access exists and whether it should continue.

3 min readArticle 32
Read article
Rolewhat the person may doAssurancehow strongly they must prove themselves to assume itNetworkwhere they must be to use itExpirywhen the assignment ends on its own

Architecture & administration

Managing Global Roles with Assurance Levels and Network Restrictions

Global roles can have a wide blast radius. Strong authentication, resource scoping and network restrictions should work together to control where those roles can be assumed and what they can change.

3 min readArticle 33
Read article
Change ships inone flowSecond flowassumes the oldbehaviourCombinationbecomes validNeither test suitenotices

Security engineering

Why Security Features Must Be Tested Across the Whole Identity System

A feature can pass isolated tests and still create a vulnerability when combined with another feature. Identity systems need tests for chains, state and policy interactions—not just individual endpoints.

3 min readArticle 34
Read article

No articles match that search. Try another term or select “All articles”.

A technical question?

Take the idea to a real workflow.

Browse documented capabilities or request a walkthrough around the identity journey you need to validate.