Recruiting SOP • A03 handoff review — Prepare a reviewable procedure that binds each interview record and draft offer to the right application and job, identifies the actual…

HTML for this example

Select the code and use your copy shortcut. Changes in this preview are temporary.

<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Recruiting SOP • A03 handoff review</title><style>*{box-sizing:border-box}body{margin:0;background:var(--bg,#eef3f6);color:#172a39;font:16px/1.5 system-ui,sans-serif}main{max-width:1200px;margin:auto;padding:28px}h1{font-size:clamp(27px,4vw,42px);line-height:1.12;margin:8px 0 12px;letter-spacing:-.035em}h2{font-size:23px;line-height:1.2;margin:0 0 18px}h3{font-size:17px;margin:14px 0 8px}p{margin:8px 0 16px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.15em;font-weight:800;color:var(--accent,#176b71)}.lead{max-width:75ch;color:#405568}.panel{background:#fff;border:1px solid #cdd9e1;border-radius:14px;padding:24px;margin:18px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wide{grid-template-columns:1.6fr 1fr}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.metric{border-left:4px solid var(--accent,#176b71);background:#f4f8fa;padding:18px}.big{display:block;font-size:36px;font-weight:800;line-height:1.2}.muted,small{color:#536879;font-size:14px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}button{background:var(--accent,#176b71);color:white;border:2px solid transparent;border-radius:8px;padding:10px 16px;min-height:44px;cursor:pointer;font:inherit;font-weight:650}button.secondary{background:#e8eff4;color:#172a39}button:disabled{opacity:.48;cursor:default}button[aria-pressed=true]{outline:3px solid #172a39;outline-offset:2px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #de7616;outline-offset:3px}label{display:block;font-weight:650;margin:12px 0 6px}input,select,textarea{font:inherit;color:inherit;border:1px solid #8b9eae;border-radius:6px;background:white;padding:10px;width:100%;min-height:44px}textarea{resize:vertical;min-height:110px}input[type=checkbox]{width:22px;min-height:22px;vertical-align:middle}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;background:#eff4f7;color:#3d5261}th,td{padding:12px;border-bottom:1px solid #dce5eb;vertical-align:top}.scroll{overflow-x:auto}caption{text-align:left;margin-bottom:12px;font-weight:700}.notice{background:#eef5f9;border-left:4px solid #628ba1;padding:14px;margin:14px 0}.error{color:#9c2924;font-weight:650}.pill{display:inline-block;border-radius:30px;padding:4px 10px;background:#e5f3ee;color:#17614f;font-size:13px;font-weight:750}.draft{white-space:pre-wrap;font:17px/1.65 Georgia,serif}.rule{display:block;width:100%;text-align:left;margin:10px 0}.rule strong{font-size:26px}details{margin:18px 0}summary{cursor:pointer;font-weight:700;padding:12px;background:#e9eff3;border-radius:6px;min-height:44px}footer{margin:30px 0;color:#536879;font-size:14px}ol,ul{padding-left:23px}.time-input{max-width:90px}.section-no{font-size:52px;color:#b5c8d5;font-weight:800;line-height:1}.tag{font-weight:700;color:var(--accent,#176b71)}[hidden]{display:none!important}@media(max-width:760px){main{padding:18px}.grid,.wide{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr}.panel{padding:18px}.big{font-size:30px}th,td{padding:9px}}:root{--accent:#435783;--bg:#eff1f7}.identity{background:#eaf0fa;padding:18px;margin:0 0 22px;border-radius:8px}.identity strong{font-size:23px}.hold{padding:16px;background:#fff2d8;border-left:4px solid #b27b22;color:#714b16;font-weight:750}.draft{font-size:19px}</style></head><body><main>
<span class="eyebrow">Fictional review snapshot / October 13, 2026</span><h1>Hold the packet. Preserve the person.</h1><p class="lead">Bind each dependency to A03/J01 before handing O01 onward for authorized review.</p><section class="panel"><div class="row identity"><strong>C02</strong><span>candidate →</span><strong>A03</strong><span>application →</span><strong>J01</strong><span>job →</span><strong>O01 · Draft</strong></div><div class="grid wide"><div><h2>Administrative handoff held</h2><p class="hold">IR01 missing · CR01 revision and reviewer authority unconfirmed</p><p>Missing evidence is not a candidate score, a rejection or proof that an interview never occurred.</p><p id="request-draft" class="draft">For A03/J01, provide the required IR01 reference and confirm the applicable CR01 revision, evaluation/decision references and authorized reviewer. O01 remains Draft while these inputs are unresolved.</p></div><div><h2>Inspect a dependency</h2><div class="row"><button type="button" id="inspect-ir">IR01 requirement</button><button type="button" id="inspect-offer" class="secondary">O01 draft</button><button type="button" id="inspect-states" class="secondary">Offer-state evidence</button></div><p id="dependency" class="notice" aria-live="polite"></p></div></div></section>
<section class="panel"><h2>Check a proposed record association</h2><p>Use sanitized fictional references only. This check compares IDs; it cannot verify that a record exists or is authorized.</p><label for="record-id">Record ID to review</label><input id="record-id" type="text" value="IR01"><label for="record-application">Record application ID</label><input id="record-application" type="text" value="A03"><label for="record-job">Record job ID</label><input id="record-job" type="text" value="J01"><button type="button" id="check-binding">Check association</button><button type="button" id="load-mismatch" class="secondary">Inspect an A99 mismatch</button><p id="binding-result" class="notice" aria-live="polite">IR01 is required but missing. No supplied interview record has been bound.</p></section>
<section class="panel"><h2>Controlled procedure draft and evidence ledger</h2><p>Native Word/PDF control and permissioned hiring records remain authoritative. Actual evidence and authority start blank.</p><div class="grid"><label for="procedure-id">Procedure ID</label><input id="procedure-id" type="text" value=""><label for="scope">Procedure scope</label><input id="scope" type="text" value=""><label for="version">Procedure version</label><input id="version" type="text" value=""><label for="owner">Actual procedure owner</label><input id="owner" type="text" value=""><label for="procedure-approval">Procedure approval evidence</label><input id="procedure-approval" type="text" value=""><label for="effective-date">Effective date</label><input id="effective-date" type="text" value=""><label for="criteria-revision">Applicable CR01 revision / actual criteria reference</label><input id="criteria-revision" type="text" value=""><label for="authority">Actual reviewer authorization</label><input id="authority" type="text" value=""><label for="job-scope">J01 requisition / scope authority</label><input id="job-scope" type="text" value=""><label for="evaluation">Evaluation reference</label><input id="evaluation" type="text" value=""><label for="decision">Decision reference</label><input id="decision" type="text" value=""><label for="terms">Authorized offer terms reference (no personal details)</label><input id="terms" type="text" value=""><label for="offer-version">Exact O01 version</label><input id="offer-version" type="text" value=""><label for="approval">Actual offer approval evidence</label><input id="approval" type="text" value=""><label for="sent">Actual send evidence</label><input id="sent" type="text" value=""><label for="acceptance">Actual acceptance evidence</label><input id="acceptance" type="text" value=""><label for="start">Actual commencement evidence</label><input id="start" type="text" value=""><label for="retention">Confirmed retention / permission policy reference</label><input id="retention" type="text" value=""><label for="exception-owner">Actual exception owner / recipient</label><input id="exception-owner" type="text" value=""><label for="next-step">Requested next step</label><input id="next-step" type="text" value=""><label for="response">Actual response</label><input id="response" type="text" value=""><label for="resolution">Actual resolution evidence</label><input id="resolution" type="text" value=""></div><h3>Offer states require separate evidence</h3><table><thead><tr><th>Proposed state</th><th>Evidence boundary</th></tr></thead><tbody><tr><td>Draft</td><td>O01’s only supplied state</td></tr><tr><td>Approval pending</td><td>Actual authorized review request and complete required packet</td></tr><tr><td>Approved not sent</td><td>Actual approval authority, evidence and exact version; no sending yet</td></tr><tr><td>Sent not accepted</td><td>Actual sending evidence, separately from approval</td></tr><tr><td>Accepted not started</td><td>Actual acceptance; commencement requires separate evidence</td></tr></tbody></table><p class="notice">These are proposed distinctions. Entering notes or inspecting a step does not advance O01 beyond the supplied Draft state.</p><label for="sop-text">Procedure / handoff / missing-evidence review copy</label><textarea id="sop-text" readonly></textarea><button type="button" id="select-sop-text" class="secondary">Select text</button><p id="sop-text-status" class="muted">Select the text, then use your device’s copy command. Nothing is saved.</p></section>
<section class="panel"><h2>Role-to-record handoff matrix</h2><div class="scroll"><table><thead><tr><th>Function to assign</th><th>Record dependency</th><th>Evidence check</th><th>Actual owner</th><th>Actual recipient</th></tr></thead><tbody><tr><th>Confirm job/process scope</th><td>J01 / CR01</td><td>Correct job; actual criteria revision and reviewer authority</td><td><label for="handoff-owner-0">Actual owner for Confirm job/process scope</label><input id="handoff-owner-0" type="text" value=""></td><td><label for="handoff-recipient-0">Actual recipient for Confirm job/process scope</label><input id="handoff-recipient-0" type="text" value=""></td></tr><tr><th>Assemble application packet</th><td>A03 / J01 / IR01</td><td>Correct associations; required interview/evaluation/decision records</td><td><label for="handoff-owner-1">Actual owner for Assemble application packet</label><input id="handoff-owner-1" type="text" value=""></td><td><label for="handoff-recipient-1">Actual recipient for Assemble application packet</label><input id="handoff-recipient-1" type="text" value=""></td></tr><tr><th>Prepare offer review</th><td>O01 / A03 / J01</td><td>Draft version; authorized terms and required review references</td><td><label for="handoff-owner-2">Actual owner for Prepare offer review</label><input id="handoff-owner-2" type="text" value=""></td><td><label for="handoff-recipient-2">Actual recipient for Prepare offer review</label><input id="handoff-recipient-2" type="text" value=""></td></tr><tr><th>Record authorized approval</th><td>O01 exact version</td><td>Actual approver, authority, version and date evidence</td><td><label for="handoff-owner-3">Actual owner for Record authorized approval</label><input id="handoff-owner-3" type="text" value=""></td><td><label for="handoff-recipient-3">Actual recipient for Record authorized approval</label><input id="handoff-recipient-3" type="text" value=""></td></tr><tr><th>Record actual sending</th><td>Approved O01 version</td><td>Actual send record through authorized process</td><td><label for="handoff-owner-4">Actual owner for Record actual sending</label><input id="handoff-owner-4" type="text" value=""></td><td><label for="handoff-recipient-4">Actual recipient for Record actual sending</label><input id="handoff-recipient-4" type="text" value=""></td></tr><tr><th>Record acceptance and start</th><td>O01 / A03 / J01</td><td>Separate response and commencement evidence</td><td><label for="handoff-owner-5">Actual owner for Record acceptance and start</label><input id="handoff-owner-5" type="text" value=""></td><td><label for="handoff-recipient-5">Actual recipient for Record acceptance and start</label><input id="handoff-recipient-5" type="text" value=""></td></tr></tbody></table></div><p>All actual assignments remain to confirm. Entering an assignment does not grant authority or approve O01.</p></section><details><summary>Proposed role-to-record handoffs</summary><ol><li>Confirm J01 scope, required process, CR01 revision and actual reviewer authorization.</li><li>Assemble C02/A03/J01 packet; retain IR01 gap and evaluation/decision references.</li><li>Request evidence from the actual responsible owner; preserve original finding and later resolution.</li><li>Prepare O01 draft for authorized review; supply terms and exact version.</li><li>Record approval, sending, response and commencement as separate evidence events.</li></ol><p>Assign an actual owner and recipient to each function in the maintained procedure. This fixture’s IR01 gate is illustrative, not a universal hiring rule. No criteria, corporate role, pay, signature, contact, assessment or hire is invented.</p></details><footer>This sanitized HTML companion cannot create Word/PDF files, approve or send an offer, contact a candidate, synchronize HR records or certify compliance. Notes are local and unsaved.</footer></main><script>const $=id=>document.getElementById(id);const on=(id,fn)=>$(id).addEventListener('click',fn);const text=(id,value)=>$(id).textContent=value;const bind=(id,fn,event='input')=>$(id).addEventListener(event,fn);const selectText=id=>{if(!$(id).value){text(id+'-status','Complete the required fields before selecting text.');return;}$(id).focus();$(id).select();text(id+'-status','Text selected. Use your device’s copy command; nothing has been sent or saved.');};
const NL=String.fromCharCode(10);const fields=["procedure-id","scope","version","owner","procedure-approval","effective-date","criteria-revision","authority","job-scope","evaluation","decision","terms","offer-version","approval","sent","acceptance","start","retention","exception-owner","next-step","response","resolution"],labels={"procedure-id":"Procedure ID","scope":"Procedure scope","version":"Procedure version","owner":"Actual procedure owner","procedure-approval":"Procedure approval evidence","effective-date":"Effective date","criteria-revision":"Applicable CR01 revision / actual criteria reference","authority":"Actual reviewer authorization","job-scope":"J01 requisition / scope authority","evaluation":"Evaluation reference","decision":"Decision reference","terms":"Authorized offer terms reference (no personal details)","offer-version":"Exact O01 version","approval":"Actual offer approval evidence","sent":"Actual send evidence","acceptance":"Actual acceptance evidence","start":"Actual commencement evidence","retention":"Confirmed retention / permission policy reference","exception-owner":"Actual exception owner / recipient","next-step":"Requested next step","response":"Actual response","resolution":"Actual resolution evidence"};fields.push(...["handoff-owner-0","handoff-recipient-0","handoff-owner-1","handoff-recipient-1","handoff-owner-2","handoff-recipient-2","handoff-owner-3","handoff-recipient-3","handoff-owner-4","handoff-recipient-4","handoff-owner-5","handoff-recipient-5"]);Object.assign(labels,{"handoff-owner-0":"Confirm job/process scope — actual owner","handoff-recipient-0":"Confirm job/process scope — actual recipient","handoff-owner-1":"Assemble application packet — actual owner","handoff-recipient-1":"Assemble application packet — actual recipient","handoff-owner-2":"Prepare offer review — actual owner","handoff-recipient-2":"Prepare offer review — actual recipient","handoff-owner-3":"Record authorized approval — actual owner","handoff-recipient-3":"Record authorized approval — actual recipient","handoff-owner-4":"Record actual sending — actual owner","handoff-recipient-4":"Record actual sending — actual recipient","handoff-owner-5":"Record acceptance and start — actual owner","handoff-recipient-5":"Record acceptance and start — actual recipient"});let inspected='ir',binding='not-checked';const deps={ir:'IR01 / A03 / J01: required by this illustrative packet gate, but the record is missing. Seek its actual reference and confirm the process; do not infer candidate merit.',offer:'O01 / A03 / J01: supplied state Draft. Required packet, criteria revision, terms, review and authority are unresolved. A draft file is not approval or sending.',states:'Draft → Approval pending → Approved not sent → Sent not accepted → Accepted not started are proposed evidence states. None of the later events has occurred in this fixture; start requires separate evidence.'};function inspect(k){inspected=k;text('dependency',deps[k]);}on('inspect-ir',()=>inspect('ir'));on('inspect-offer',()=>inspect('offer'));on('inspect-states',()=>inspect('states'));function association(id,a,j){if(!id.trim()||!a.trim()||!j.trim())return 'incomplete';return a.trim()==='A03'&&j.trim()==='J01'?'same-ids':'mismatch';}function check(){binding=association($('record-id').value,$('record-application').value,$('record-job').value);text('binding-result',binding==='incomplete'?'Association incomplete — supply a record ID, application ID and job ID.':binding==='mismatch'?'Association mismatch — this record is not bound to A03/J01. Do not borrow it for this packet. O01 remains Draft.':'IDs match A03/J01 only. Existence, content, required IR01, criteria and authority are not verified. O01 remains Draft.');packet();}function packet(){const incomplete=['record-id','record-application','record-job'].some(k=>!$(k).value.trim());$('sop-text').value=incomplete?'':['RECRUITING SOP — DRAFT REVIEW COPY','Snapshot October13,2026. C02 / A03 / J01 / O01 Draft.','IR01 required by this illustrative gate but missing. CR01 revision and reviewer authority TO CONFIRM.','Original request: '+$('request-draft').textContent,'Proposed association: '+$('record-id').value+' / '+$('record-application').value+' / '+$('record-job').value,'Association: '+binding+' (IDs only; no evidence verified)',...fields.map(k=>labels[k]+': '+($(k).value||'[TO CONFIRM / not supplied]')),'Handoffs: confirm J01/process/authority; assemble A03/J01 dependencies; request IR01 and evaluation/decision references; prepare O01 draft; retain separate approval, sending, acceptance and commencement evidence. Assign actual owner and recipient for every function.','First finding retained: IR01 missing; criteria revision, authority and evaluation/decision references not supplied.','O01 remains Draft in this companion. No candidate decision or contact performed.'].join(NL);}['record-id','record-application','record-job'].forEach(k=>bind(k,()=>{binding='not-checked';text('binding-result','Association edited — check again. No prior match retained.');packet();}));fields.forEach(k=>bind(k,packet));on('check-binding',check);on('load-mismatch',()=>{$('record-id').value='E99';$('record-application').value='A99';$('record-job').value='J01';check();});on('select-sop-text',()=>selectText('sop-text'));inspect('ir');packet();globalThis.app={association,fields,get:()=>({inspected,binding,offer:'Draft'})};</script></body></html>