Beyond the page

AI Use-Case, Intake & Risk Tiering Questionnaire

Who this questionnaire is for
Product leaders, business owners, governance/risk teams, and engineering leads deciding what AI use cases to build or ship.

What it assesses
Whether a proposed AI use case is safe to pilot or ship, by tiering risk (impact if wrong, decision proximity, user exposure, data sensitivity, and reversibility) and mapping it to required controls.

How it helps
Creates a consistent intake gate so AI doesn’t become “production by default.” Results give you a clear tier (low → critical) plus a practical control checklist for what must exist before you ship (owners, logs, evidence, human-in-the-loop, monitoring, rollback authority).

Best used when

  • Approving new AI use cases
  • Expanding scope from pilot → production
  • Aligning product speed with governance requirements
  • Deciding “do not ship” boundaries
/* Clickability + theme safety */ #oyez-intake-risk{ position:relative !important; z-index:2147483647 !important; pointer-events:auto !important; isolation:isolate; max-width:980px;margin:0 auto; } #oyez-intake-risk, #oyez-intake-risk *{box-sizing:border-box;pointer-events:auto !important} #oyez-intake-risk .wrap{ border:1px solid rgba(0,0,0,.12); border-radius:18px; padding:18px 18px 12px; background:rgba(255,255,255,.82); backdrop-filter:saturate(1.15) blur(10px); box-shadow:0 18px 55px rgba(0,0,0,.10); } #oyez-intake-risk h1{font-size:28px;line-height:1.15;margin:0 0 6px;letter-spacing:-.02em} #oyez-intake-risk .sub{opacity:.82;margin:0 0 14px;font-size:14px;line-height:1.45} /* Coverage bar */ #oyez-intake-risk .bar{ height:10px;border-radius:999px;border:1px solid rgba(0,0,0,.14); overflow:hidden;background:rgba(0,0,0,.04); margin:10px 0 14px } #oyez-intake-risk .bar > div{ height:100%;width:0%; background:linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.62)); transition:width .22s ease } /* Pills */ #oyez-intake-risk .pillrow{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px} #oyez-intake-risk .pill{ display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px; border:1px solid rgba(0,0,0,.14);background:rgba(255,255,255,.94); font-size:12px;white-space:nowrap;box-shadow:0 10px 24px rgba(0,0,0,.07) } #oyez-intake-risk .pill b{font-weight:750} /* Meta grid */ #oyez-intake-risk .meta{display:grid;grid-template-columns:repeat(12,1fr);gap:10px;margin:14px 0 10px} #oyez-intake-risk label{display:block;font-weight:650;font-size:13px;margin:0 0 6px} #oyez-intake-risk input[type=”text”], #oyez-intake-risk select{ width:100%;padding:10px 10px;border-radius:12px;border:1px solid rgba(0,0,0,.16); background:rgba(255,255,255,.96);font:inherit;font-size:14px;line-height:1.35;outline:none; box-shadow:0 10px 22px rgba(0,0,0,.06) } #oyez-intake-risk .span-4{grid-column:span 4} #oyez-intake-risk .span-6{grid-column:span 6} #oyez-intake-risk .span-8{grid-column:span 8} #oyez-intake-risk .span-12{grid-column:span 12} @media (max-width:860px){ #oyez-intake-risk .meta{grid-template-columns:repeat(6,1fr)} #oyez-intake-risk .span-4, #oyez-intake-risk .span-6, #oyez-intake-risk .span-8, #oyez-intake-risk .span-12{grid-column:span 6} } /* Score row */ #oyez-intake-risk .scoreRow{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;margin:12px 0 6px} #oyez-intake-risk .scoreBox{ flex:0 0 auto;min-width:240px; border:1px solid rgba(0,0,0,.12);border-radius:16px;background:#fff; padding:12px;box-shadow:0 16px 40px rgba(0,0,0,.09) } #oyez-intake-risk .scoreLabel{font-size:13px;opacity:.78} #oyez-intake-risk .scoreBig{font-size:42px;font-weight:900;line-height:1;margin-top:6px} #oyez-intake-risk .scoreMax{font-size:13px;opacity:.78;margin-top:4px} #oyez-intake-risk .answered{font-size:13px;opacity:.82;margin-top:8px} #oyez-intake-risk .tierBox{ flex:1;min-width:260px; border:1px solid rgba(0,0,0,.12);border-radius:16px;background:#fff; padding:12px;box-shadow:0 16px 40px rgba(0,0,0,.09) } #oyez-intake-risk .tierLabel{font-size:13px;opacity:.78} #oyez-intake-risk .tierVal{font-size:18px;font-weight:900;margin-top:6px} #oyez-intake-risk .tierNote{font-size:13px;opacity:.82;line-height:1.45;margin-top:6px} /* Sections + Qs */ #oyez-intake-risk .sec{border-top:1px solid rgba(0,0,0,.12);padding:14px 0 6px} #oyez-intake-risk .sec h2{font-size:18px;margin:0 0 8px} #oyez-intake-risk .q{ border:1px solid rgba(0,0,0,.12); border-radius:16px; padding:12px; background:rgba(255,255,255,.97); margin:10px 0; box-shadow:0 14px 34px rgba(0,0,0,.07) } #oyez-intake-risk .qtitle h3{font-size:15px;margin:0;line-height:1.35} #oyez-intake-risk .opts{display:grid;grid-template-columns:repeat(12,1fr);gap:10px;margin-top:10px} #oyez-intake-risk .opt{ grid-column:span 6; border:1px solid rgba(0,0,0,.12); border-radius:16px; padding:12px; background:#fff; box-shadow:0 14px 34px rgba(0,0,0,.06); cursor:pointer; display:flex;gap:10px;align-items:flex-start; transition:transform .06s ease, box-shadow .12s ease, border-color .12s ease; } #oyez-intake-risk .opt:hover{transform:translateY(-1px);box-shadow:0 18px 42px rgba(0,0,0,.10)} #oyez-intake-risk .opt input[type=”radio”]{margin-top:3px;transform:scale(1.05);flex:0 0 auto} #oyez-intake-risk .opt .txt strong{display:block;font-size:13px} #oyez-intake-risk .opt .txt span{display:block;font-size:12px;opacity:.78;margin-top:4px;line-height:1.35} #oyez-intake-risk .opt.selected{border-color:rgba(0,0,0,.35);box-shadow:0 22px 55px rgba(0,0,0,.13)} @media (max-width:860px){#oyez-intake-risk .opt{grid-column:span 12}} /* Actions + results */ #oyez-intake-risk .actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 6px;position:relative;z-index:2147483647} #oyez-intake-risk button{ border-radius:12px;border:1px solid rgba(0,0,0,.18); padding:10px 12px;background:#fff;cursor:pointer; font:inherit;font-weight:850;font-size:14px; box-shadow:0 14px 34px rgba(0,0,0,.09) } #oyez-intake-risk button.primary{background:rgba(0,0,0,.9);color:#fff;border-color:rgba(0,0,0,.9)} #oyez-intake-risk button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none} #oyez-intake-risk .results{border-top:1px solid rgba(0,0,0,.12);margin-top:10px;padding-top:14px;display:none} #oyez-intake-risk .rgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px} #oyez-intake-risk .card{grid-column:span 6;border:1px solid rgba(0,0,0,.12);border-radius:16px;background:#fff;padding:12px;box-shadow:0 16px 40px rgba(0,0,0,.09)} #oyez-intake-risk .card.full{grid-column:span 12} #oyez-intake-risk .card h4{margin:0 0 6px;font-size:14px} #oyez-intake-risk .big{font-size:22px;font-weight:900;line-height:1.2;margin:0} #oyez-intake-risk .muted{font-size:13px;opacity:.78;line-height:1.45;margin:6px 0 0} #oyez-intake-risk .list{margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.45} #oyez-intake-risk .footer{margin:10px 0 6px;font-size:12px;opacity:.7;line-height:1.45}

AI Use-Case Intake & Risk Tiering

Use this intake to decide what to build/ship — and what controls are required before a use case can move from idea → pilot → production. Your risk tier and required actions update as you answer.

Status: Not scored Coverage: 0% Score: — Risk tier: — Decision: —
Use case name (optional)
Business owner (optional)
Primary users (optional) — Select — Internal staff only Internal + partners External customers/public Mixed / unknown
Jurisdiction (optional)
Your score
0
out of 45
Answered 0/15
Risk tier
—
Answer the questions to see your risk tier and required controls.

Section A — Use Case & Impact

1) What’s the impact if the system is wrong?

LowMinor inconvenience; no material consequences.
ModerateOperational cost/time; reversible decisions.
HighFinancial/legal/customer harm likely.
CriticalSafety, rights, eligibility, or regulated outcomes.

2) How close is the system to a final decision?

Informational onlyNo decisions; clear disclaimers.
Decision supportHuman decides; system provides options.
Strong recommendationHumans likely follow the output by default.
Automated action / gatekeeperSystem triggers actions or approvals.

3) Who is exposed to the output?

Small internal teamControlled access; trained users.
Broad internalMany employees, varying expertise.
Partners / contractorsExternal parties rely on outputs.
Public / customersExternal users; brand/legal exposure.

4) Is the use case regulated or high-stakes by policy (e.g., finance, health, employment, legal, eligibility)?

NoNot in a regulated/high-stakes category.
AdjacentCould influence regulated decisions indirectly.
Yes — controlledRegulated/high-stakes; clear constraints exist.
Yes — direct impactDirectly affects regulated outcomes/rights.

5) Is there a clear “do not do” scope boundary for this use case?

NoScope is ambiguous; likely to expand.
PartialSome boundaries, not enforced.
MostlyBoundaries documented and communicated.
EnforcedBoundaries enforced in UX/policy/system.

Section B — Data, Privacy & Access

6) What data types will be used or exposed?

Public / non-sensitiveNo personal or confidential data.
Internal confidentialBusiness confidential, low personal data.
Personal dataPII/employee/customer data may appear.
Sensitive personalHealth, biometric, minors, legal, etc.

7) Are data sources mapped with ownership, freshness, and access rights?

NoUnknown sources/rights; ad-hoc access.
PartialSome sources known; gaps remain.
MostlySources mapped; owners identified.
EnforcedAccess governed; freshness and rights tracked.

8) Are outputs grounded with evidence (citations, document IDs, timestamps) when making factual claims?

NoNo consistent citations or traceability.
ManualOccasional citations; not enforced.
MostlyTraceability exists for key claims.
EnforcedEvidence trails are required and logged.

9) Are permissions least-privilege with periodic review (tools, actions, data access)?

NoBroad access; no review cycle.
PartialSome controls; inconsistent reviews.
MostlyRoles defined; access is reviewed sometimes.
EnforcedLeast-privilege + scheduled reviews + logging.

10) Do you have a retention policy and audit-ready logs (inputs, retrieval, outputs, versions)?

NoCannot reconstruct what happened.
PartialSome logs, incomplete coverage.
MostlyGood logs; exportability varies.
EnforcedStructured, exportable logs with retention policy.

Section C — Controls & Shipping Gates

11) Is there a “safe to ship” definition (quality threshold, refusal behaviour, escalation for high-stakes)?

NoNo thresholds or escalation paths.
PartialInformal expectations; not tested.
MostlyDocumented thresholds exist.
EnforcedDocumented + tested + monitored gates.

12) Are failure paths tested (missing evidence, contradictions, prompt injection, tool failure)?

NoNo structured negative testing.
PartialOccasional checks; not a suite.
MostlyCommon failures tested before ship.
EnforcedRegression suite + repeatable evaluation.

13) Is monitoring in place with owners (quality/drift, refusal, latency/cost) and alerting?

NoNo monitoring or on-call ownership.
PartialSome monitoring; unclear thresholds/owners.
MostlyMonitoring exists; alerting is limited.
EnforcedSLOs + alerting + named response owners.

14) Is incident response defined for this use case (triage, rollback/kill, comms, learning loop)?

NoNo playbook; no authority to pause.
PartialInformal; not rehearsed.
MostlyDocumented with escalation paths.
EnforcedPracticed; measurable; post-incident reviews.

15) Are change logs and approvals required (prompts, models, tools, data access) before shipping changes?

NoChanges are ad-hoc; no approvals.
PartialSome tracking; inconsistent approvals.
MostlyConsistent logs; approvals for major changes.
EnforcedLogged + approved + auditable change control.

Tip: Use this before every new use case. If the tier is High/Critical, treat “controls” as prerequisites — not post-launch fixes.

Risk tier

—

—

Decision

—

—

Required actions (controls before ship)

    (function(){ function init(){ const root = document.getElementById(‘oyez-intake-risk’); if(!root) return false; if(root.__oyezInit) return true; root.__oyezInit = true; const MAX=45, TOTAL=15; const bar = root.querySelector(‘#oyezIntakeBar’); const statusEl = root.querySelector(‘#oyezIntakeStatus’); const coverageEl = root.querySelector(‘#oyezIntakeCoverage’); const scorePillEl = root.querySelector(‘#oyezIntakeScorePill’); const tierPillEl = root.querySelector(‘#oyezIntakeTierPill’); const decisionPillEl = root.querySelector(‘#oyezIntakeDecisionPill’); const scoreBigEl = root.querySelector(‘#oyezIntakeScoreBig’); const answeredEl = root.querySelector(‘#oyezIntakeAnswered’); const tierTopEl = root.querySelector(‘#oyezIntakeTier’); const tierTopNoteEl = root.querySelector(‘#oyezIntakeTierNote’); const useCaseEl = root.querySelector(‘#oyezIntakeUseCase’); const ownerEl = root.querySelector(‘#oyezIntakeOwner’); const usersEl = root.querySelector(‘#oyezIntakeUsers’); const jurisEl = root.querySelector(‘#oyezIntakeJurisdiction’); const calcBtn = root.querySelector(‘#oyezIntakeCalc’); const copyBtn = root.querySelector(‘#oyezIntakeCopy’); const emailBtn = root.querySelector(‘#oyezIntakeEmail’); const resetBtn = root.querySelector(‘#oyezIntakeReset’); const results = root.querySelector(‘#oyezIntakeResults’); const tierOut = root.querySelector(‘#oyezIntakeTierOut’); const tierNoteOut = root.querySelector(‘#oyezIntakeTierNoteOut’); const decisionOut = root.querySelector(‘#oyezIntakeDecisionOut’); const decisionDesc = root.querySelector(‘#oyezIntakeDecisionDesc’); const actionsEl = root.querySelector(‘#oyezIntakeActions’); function updateSelected(){ root.querySelectorAll(‘.opt’).forEach(opt=>{ const r = opt.querySelector(‘input[type=”radio”]’); opt.classList.toggle(‘selected’, !!(r && r.checked)); }); } function answeredCount(){ let n=0; for(let i=1;i<=TOTAL;i++){ if(root.querySelector(`input[name="q${i}i"]:checked`)) n++; } return n; } function score(){ let s=0; for(let i=1;i<=TOTAL;i++){ const picked = root.querySelector(`input[name="q${i}i"]:checked`); if(picked) s += parseInt(picked.value,10); } return s; } function riskTierFromScore(s){ // Higher score = better controls / lower risk if(s <= 15) return 'Critical'; if(s <= 27) return 'High concern'; if(s <= 36) return 'Moderate'; return 'Low'; } function pack(tier){ const packs = { 'Low': { note: 'Well-scoped and controlled. Risk is manageable with routine monitoring and change control.', decision: 'Ship with standard controls', decisionDesc: 'Proceed to production if you keep evidence trails, monitoring, and change approvals in place.', actions: [ 'Confirm scope boundaries and user training remain current.', 'Keep evidence trails (sources/IDs/timestamps) exportable by default.', 'Monitor drift/refusal/latency with named owners.', 'Require change logs + approvals for prompts/models/tools/data access.' ] }, 'Moderate': { note: 'Promising, but gaps could produce silent failures or compliance exposure if shipped too fast.', decision: 'Ship only with mitigations', decisionDesc: 'You can proceed, but treat the missing controls as prerequisites — not “phase 2”.', actions: [ 'Tighten scope: add explicit “do not do” boundaries and enforce them.', 'Map data sources with ownership, rights, and freshness requirements.', 'Define “safe to ship” thresholds and escalation for high-stakes cases.', 'Add structured, exportable logging (inputs, retrieval, outputs, versions).', 'Run failure-path tests before launch and before major changes.' ] }, 'High concern': { note: 'High likelihood of material harm, audit failure, or uncontrolled scaling without stronger gates.', decision: 'Pilot only (no scale)', decisionDesc: 'Limit access, reduce exposure, and do not scale until ownership, evidence, and incident readiness exist.', actions: [ 'Restrict to a small trained group; avoid external/public exposure.', 'Implement evidence-first grounding: citations/IDs/timestamps on factual claims.', 'Enforce least-privilege access and schedule permission reviews.', 'Create a system-specific incident playbook with authority to pause/rollback.', 'Add monitoring with alerting and named on-call/response owners.', 'Establish change approvals and regression tests for failure paths.' ] }, 'Critical': { note: 'Not safe to ship in current form. The combination of impact + insufficient controls is unacceptable.', decision: 'Do not ship (re-design or add strong controls)', decisionDesc: 'Treat this as a redesign: narrow scope, add enforceable controls, and re-run intake before any rollout.', actions: [ 'Redesign to reduce impact: make it informational-only or require human decision.', 'Remove/avoid sensitive personal data until privacy, rights, and retention are governed.', 'Add enforceable ship gates: refusal behaviour, escalation, and evidence requirements.', 'Implement full audit logging and retention for event reconstruction.', 'Build a repeatable evaluation suite (incl. injection/tool failure/contradictions).', 'Require governance sign-off for regulated/high-stakes categories.' ] } }; return packs[tier]; } function compute(){ updateSelected(); const ans = answeredCount(); const cov = Math.round((ans/TOTAL)*100); const s = score(); bar.style.width = cov + '%'; statusEl.textContent = ans===0 ? 'Not scored' : (ans{ const li=document.createElement(‘li’); li.textContent=x; actionsEl.appendChild(li); }); results.style.display=’block’; copyBtn.disabled=false; emailBtn.disabled=false; return { ans,cov,s,tier,pack:p, useCase: (useCaseEl.value||’—’), owner: (ownerEl.value||’—’), users: (usersEl.value||’—’), jurisdiction: (jurisEl.value||’—’) }; } function summaryText(state){ const lines=[]; lines.push(‘OYEZ — AI Use-Case Intake & Risk Tiering’); lines.push(‘————————————–‘); lines.push(`Use case: ${state.useCase}`); lines.push(`Business owner: ${state.owner}`); lines.push(`Users: ${state.users}`); lines.push(`Jurisdiction: ${state.jurisdiction}`); lines.push(”); lines.push(`Status: ${state.ans===TOTAL ? ‘Completed’ : ‘In progress’}`); lines.push(`Coverage: ${state.cov}% (${state.ans}/${TOTAL})`); lines.push(`Score: ${state.s}/45`); lines.push(`Risk tier: ${state.tier}`); lines.push(`Decision: ${state.pack.decision}`); lines.push(”); lines.push(state.pack.note); lines.push(”); lines.push(‘Required actions (controls before ship):’); state.pack.actions.forEach((a,i)=>lines.push(`${i+1}. ${a}`)); return lines.join(‘\n’); } root.addEventListener(‘change’, (e)=>{ if(e.target && e.target.matches(‘input[type=”radio”]’)) compute(); }); calcBtn.addEventListener(‘click’, (e)=>{ e.preventDefault(); compute(); }); copyBtn.addEventListener(‘click’, async (e)=>{ e.preventDefault(); const state = compute(); if(!state) return; const text = summaryText(state); try{ await navigator.clipboard.writeText(text); copyBtn.textContent=’Copied’; setTimeout(()=>copyBtn.textContent=’Copy Results’, 900); }catch(err){ const ta=document.createElement(‘textarea’); ta.value=text; document.body.appendChild(ta); ta.select(); document.execCommand(‘copy’); document.body.removeChild(ta); copyBtn.textContent=’Copied’; setTimeout(()=>copyBtn.textContent=’Copy Results’, 900); } }); emailBtn.addEventListener(‘click’, (e)=>{ e.preventDefault(); const state = compute(); if(!state) return; const subject = encodeURIComponent(`Oyez — Use-Case Intake (${state.tier}, ${state.s}/45)`); const body = encodeURIComponent(summaryText(state)); window.location.href = `mailto:?subject=${subject}&body=${body}`; }); resetBtn.addEventListener(‘click’, (e)=>{ e.preventDefault(); root.querySelectorAll(‘input[type=”radio”]’).forEach(r=>r.checked=false); useCaseEl.value=”; ownerEl.value=”; usersEl.value=”; jurisEl.value=”; compute(); root.scrollIntoView({behavior:’smooth’, block:’start’}); }); compute(); return true; } if(!init()){ let tries=0; const t=setInterval(()=>{ tries++; if(init() || tries>=50) clearInterval(t); }, 100); } })();