Security

How to Write the Exception Request Form Reviewers Actually Read

Antonio Evans10 min read

A close-up of a single printed page on a clipboard, resting on a desk next to a laptop and a pen.
Key points

Key points

  1. 1Use a one-page form with three required fields: a plain-language risk statement, a specific exit condition, and a named approver's signature.
  2. 2Reject requests where the risk statement is vague or the exit condition says "until further notice."
  3. 3Track every approved exception in a register with an expiry date, an owner, and a review cadence, because unmanaged exceptions quietly become permanent gaps.
  4. 4Test the form on a handful of real requests before rollout, and grade the answers against a written rubric so reviewers apply the same standard.

Why most exception requests fail before a reviewer opens them

An access exception is a documented, temporary deviation from the standard authentication policy, and it only stays controlled if it has a business justification, an owner, a scope, compensating controls, an expiry date, and a review cadence (the NHI Management Group glossary). When any of those is missing, the exception turns into an unaudited bypass.

The failure usually starts in the form. A requester writes "needs MFA exemption for testing" with no system named, no data described, and no end date. The reviewer has two options: approve on trust, or spend a week in email asking clarifying questions. Most reviewers, under pressure, approve.

The structural problem is that most organizations track access as a ticket, not as a risk decision. A generic ticketing system records that someone asked and someone said yes, but it does not force the requester to name what could go wrong or when the access must stop. Ticket systems "track requests" rather than govern access, and the gap is invisible until an audit or an incident surfaces it (Zluri's guide to access request management).

There is also a well-documented pattern of MFA being "enabled" while paths around it stay open. In one CISA and FBI advisory case, a state-sponsored actor exploited an account with default MFA settings to register a new device and get into an NGO's network (KirkpatrickPrice's analysis of the CISA advisory). Auditors repeatedly find developers connecting to production over SSH with no MFA while the automated check reports MFA as enforced. Exceptions are exactly where those paths live, so the form that creates them has to be as rigorous as the policy it steps around.

The three fields that do the real work

Everything else on the form is context. These three fields decide whether a reviewer can act:

1. The risk statement. One or two sentences in plain language: what could happen if this access were misused, and what data or system is exposed. The best risk statements name a specific harm. "An attacker with this account's password could read unreleased financial results for the quarter" is reviewable. "Security risk" is not.

2. The exit condition. A specific event or date when the exception ends. Good exit conditions are concrete: a date, a migration milestone, a vendor's MFA go-live, a hardware delivery. "Until further notice" and "permanent" are not exit conditions, and a form that accepts them has no expiry mechanism. Review cadence and rotation should match privilege level, with short auto-expiry windows for administrative exclusions and 30 to 90 day reviews for legacy or service account exceptions (Accountable's MFA exception tracking guide).

3. The named approver's signature. Not a team, not a queue, not "IT." A person whose name goes in the register. A good approval block makes the signer acknowledge the specific risk and accept responsibility for its consequences, as the University of Miami's security policy exception form does in its three-tier approval section, where the supervisor explicitly accepts responsibility and acknowledges that the CISO can revoke the exception (the MDC security policy and risk exception request form).

A fourth field earns its place: the compensating control. If the requester cannot use MFA, what replaces it? IP allowlisting, device compliance checks, session recording, just-in-time elevation, monitoring alerts. A request with no compensating control is not a risk decision, it is a request to remove a control and accept nothing in return.

A one-page template you can copy

Keep it to a single page and make the three core fields required with no "N/A" option.

FieldRequiredWhat good looks likeAuto-reject if
Requester and system ownerYesNamed individual plus the owner of the systemRequester is also the only approver
Policy or control being waivedYesExact policy name and clause (for example MFA for remote access)"General security"
ScopeYesNamed user, group, app, protocol, IP range"All users" or an open group
Risk statementYesWhat could happen if misused, which data or systemVague or one word
Data classification at riskYesPublic, internal, confidential, regulated (PII, PHI, PCI)Left blank
Compensating controlYesSpecific technical control, in place or with a date"Will monitor it"
Exit conditionYesA date or a named milestone"Until further notice", "permanent"
Review cadenceYesWeekly, monthly, quarterly, matched to privilegeMissing
Approver name and signatureYesOne accountable person with authority level statedGroup or queue approval
Register IDAssignedTicket number that ties to the exception registerNone

Two design notes. First, put the risk statement near the top. Requesters write more carefully when the hard question comes before the easy contact fields. Second, do not let the form collect detail that no one reviews. A form that asks for DNS names and IP addresses but has no reviewer who checks them trains people to paste anything.

For the fields a reviewer will use, this is the minimum set in practice:

EXCEPTION REQUEST (one page)
1. Requester name, team, manager
2. System or application, and its owner
3. Policy/control waived (exact clause)
4. Scope: exact users, groups, apps, protocols, IP ranges
5. Risk statement: What could happen if this access is misused?
   Which data or system is exposed?
6. Data classification at risk
7. Compensating control (technical, specific; in place or dated)
8. Exit condition: date or named milestone
9. Review cadence and reviewer
10. Approver: name, title, signature, date
    "I understand the risk documented above and accept responsibility."

Designing the review workflow so temporary stays temporary

A form is only half the system. The other half is the loop that closes it.

Intake and triage. A reviewer reads the request and either accepts it, scopes it down, or returns it. The triage step should confirm the business justification, the owner, and the end date, and reject or narrow broad exceptions before approval (Accountable's MFA exception tracking guide). Route by risk tier: standard requests to the system owner, privileged or regulated-data requests to security, break-glass to a named senior approver plus a post-use review.

Approval with a register entry. Approval creates a row in the exception register with the ID, scope, owner, approver, compensating control, expiry, and review date. No register entry, no access. This is the single most effective rule, because it makes unregistered exceptions a policy violation rather than an oversight.

Expiry and renewal. The register drives reminders before expiry. Renewal means a new request with a new risk statement and a new exit condition, not an extension click. If a requester asks to extend three times, that is a signal the underlying problem needs a project, not another approval.

Monitoring the exception itself. Tag exception-bound identities so you can query sign-ins, admin actions, and data access tied to them (Accountable's MFA exception tracking guide). Then validate that the exception is still doing what the form said. If the legacy app was retired last quarter, the exception should already be gone.

Quarterly attestation. Have each approving manager confirm that every exception they own is still needed. This is the mechanism that catches drift. It also matches the practice of requiring managers to attest quarterly for exemptions and tracking every bypass as a remediation item (Accountable's MFA remediation plan).

You can generate the register from ticketing data and catch the common failures with simple queries. For example, flag MFA enrollment gaps that often precede exception requests:

-- Users with no registered MFA method and a recent successful sign-in
SELECT u.id, u.display_name, u.department, last_signin.max_time
FROM users u
LEFT JOIN auth_methods m ON m.user_id = u.id
JOIN (SELECT user_id, MAX(timestamp) AS max_time
      FROM signin_logs WHERE mfa_claim = false
      GROUP BY user_id) last_signin ON last_signin.user_id = u.id
WHERE m.enrolled = false
ORDER BY last_signin.max_time DESC;

That query is a starting point, not a compliance report. The point is to find the population that will need exceptions before they file them, so you can fix enrollment instead of waiving the control.

If you are building the surrounding automation, for example an agent that reads requests and flags missing fields before a human sees them, Quanta Inference gives you one API key for text and embedding models, OpenAI-compatible and priced in US dollars (https://quantaintelligence.ai/inference).

Testing the form before you roll it out

Do not launch a form you have not tested on real requests. A half-day pilot catches most of the design flaws.

  1. Collect five to ten real past requests, including at least two that were approved badly. Strip names.
  2. Have five people fill out the new form using those requests as the source material: two requesters, two reviewers, one security person.
  3. Grade each answer against a written rubric. For the risk statement: names a specific harm, names the data or system, fits in two sentences. For the exit condition: is it a date or a named milestone a stranger could verify.
  4. Measure reviewer time and decision quality. If reviewers still need a call to understand the request, the field is wrong, not the requester.
  5. Check the rejection path. Confirm that a vague risk statement or "until further notice" actually gets returned, and that the return message tells the requester what to fix.
  6. Fix the instructions, not just the form. Most bad answers come from a form that does not show an example. Put one completed example on the intranet next to the template.

Set a pass bar before you start. A reasonable one: at least 80 percent of pilot requests are decidable from the form alone without a follow-up conversation. If you fall short, look at which field produced the questions and simplify or add an example.

A worked example makes the difference concrete. Weak: "Need MFA exception for the payroll vendor's support login, urgent." Strong: "Vendor support needs to sign in to the payroll admin console through a shared local account; the vendor's tooling cannot complete MFA. Exposure is employee salary and bank details (regulated PII). Compensating control: access only from the vendor's published IP range, session recording on, alert to the identity team on every sign-in. Exit condition: vendor's MFA-capable release goes live in their next maintenance window, target end of Q2. Approver: payroll system owner, countersigned by security."

The second version takes thirty seconds longer to write and saves a week of review.

Common failure modes and how to fix them

The form is too long. Two pages of fields gets partially completed. Cut anything no reviewer reads. The University of Miami form, for instance, asks for DNS names of affected machines, which is useful for infrastructure risk but heavy for a single MFA exception (the MDC form). Match length to risk tier: a short form for standard MFA exceptions, a fuller one for privileged access or regulated data.

The approver has no authority. If the person signing cannot actually accept the risk, the signature is decoration. State the authority level next to the signature block, and require escalation when the request touches privileged or regulated systems.

"Temporary" has no end. Every exception needs an expiry in the register, even when the exit condition is a milestone rather than a date. Put a hard maximum on the first approval period and force a fresh request afterward.

Manual checks replace nothing. An automated report can say MFA is enabled while a developer bypasses it over SSH, which is exactly the gap auditors found in real environments (KirkpatrickPrice's analysis of the CISA advisory). Review the exception list against live telemetry, not against the last approval email.

Nobody owns the register. A register with no owner becomes a spreadsheet archaeology project. Assign one person, review it on a fixed cadence, and report the count of open exceptions and overdue reviews to leadership.

The exceptions hide in configuration. Excluded groups, per-app overrides, and trusted network rules can create exceptions that never went through the form at all. Inventory exclusion lists and classify every entry by category, then require that new exclusions come through the form (Accountable's MFA exception tracking guide). Note also that conditional access risk policies and trusted locations interact with these exemptions, so a trusted location that is too broad becomes an exception nobody wrote down (Microsoft's guidance on risk policies).

When to fix the control instead of approving the exception

A decision rule saves reviewers from case-by-case debate. Before approving, ask whether the exception is cheaper than the fix. If the fix is a configuration change that takes less time than the exception will live, reject the request and fix the control.

Use this test:

QuestionIf yesIf no
Can the requester use a stronger method that already exists (passkey, security key, authenticator app)?Fix enrollment, reject the exceptionContinue
Is the blocker a missing method enrollment rather than a technical limit?Help them enroll, rejectContinue
Will the exit condition arrive within one quarter through planned work?Approve with compensating control and a review dateEscalate
Does the request touch privileged or regulated data?Require security approval and tighter compensating controlsStandard approval
Is this the third extension of the same exception?Treat as a project gap, escalate to leadershipStandard renewal

The first row matters more than it looks. Passkeys are phishing-resistant credentials that can serve as MFA when combined with device biometrics or a PIN, and Microsoft reports that 99 percent of users successfully register synced passkeys, and that they are 14 times faster than password plus traditional MFA (3 seconds instead of 69 seconds) (Microsoft's Entra documentation on passkeys). Many MFA exception requests exist because the user has not enrolled, not because they cannot. Check enrollment before you check the exception box. Enrollment reports make this easy: Okta, for example, can list each user's enrolled authenticators and export the list for review (Okta's MFA enrollment report guide).

The same logic applies to forced MFA rollouts. Programs like mandatory MFA for Azure sign-ins affect specific applications and clients on published timelines, and organizations that planned method enrollment in advance needed far fewer exceptions than those that did not (Microsoft's mandatory MFA documentation).

FAQ

FAQ

What are the three required fields on an exception request form?

A plain-language risk statement describing what could happen if the access is misused, a specific exit condition (a date or named milestone when the exception ends), and a named approver's signature. Add a compensating control field and a review cadence so the exception can be monitored while it is open.

How do I reject a request with a vague risk statement without stalling the business?

Return it with a specific prompt: name the data or system exposed and one concrete harm. Show a completed example on the intranet so requesters know the expected level of detail. Most vague requests improve on the first return, and reviewers stop approving on trust.

How often should exceptions be reviewed?

Match the cadence to privilege. Administrative exclusions get short auto-expiry windows and weekly or change-window reviews, while legacy protocol and service account exceptions are reviewed every 30 to 90 days with a deprecation plan. A quarterly attestation from each approving manager catches drift between reviews.

Can we just exclude a group from the MFA policy instead of using a form?

That is an exception with no paperwork. The exclusion exists in configuration, so no one owns it, no one reviews it, and it outlives the reason it was created. Route every exclusion through the form so it appears in the register with an owner, an expiry, and a compensating control.

How do we test the form before rolling it out?

Run a short pilot on five to ten real past requests and have a mix of requesters and reviewers fill it out. Grade the answers against a written rubric, and set a pass bar such as 80 percent of requests being decidable without a follow-up call. Fix the field that produced the most questions, then launch.

If you want a second set of eyes on your exception process before the next audit, a free 30-minute discovery call covers your goals and a tailored recommendation with no obligation (https://quantaintelligence.ai/calendar).

Sources

Sources

  1. What Is Mfa exception? Definition & Examples
  2. Access Request Management: The Complete Guide for IT ...
  3. Learning from the CISA Cybersecurity Advisory
  4. MFA Exception Tracking: Monitoring, Reporting, and Best ...
  5. Security Policy and Risk Exception Request Form
  6. Step-by-Step Guide to Enforce Multi‑Factor Authentication
  7. Microsoft Entra ID Protection - Risk policies
  8. Authentication methods in Microsoft Entra ID - passkeys (FIDO2)
  9. How to Generate the MFA Enrollment Report
  10. Mandatory multifactor authentication for Azure and admin ...
About the author

About the author

Antonio Evans
Antonio Evans

Antonio Evans is the founder of Quanta Intelligence and a fractional CTO who builds HIPAA-ready AI systems for health and life-science companies. Before that he was technical co-founder of FriendsEAT for twenty years, CEO of Socialdraft, and a data engineer at IBM. Antonio lives with his dog Santino in Lisbon, Portugal.

All articles