Employer policy
Finance, leadership and the people function: the layer that authorises headcount, fixes bands and writes the rules the funnel executes. Never meets a candidate.
Decides
- Whether a requisition is funded, and whether it stays funded
- The band and the levelling grid
- Whether postings must be published externally regardless of internal candidates
- What may be disclosed, and what must not be
Cannot see
- What a freeze looks like from the far end of a five-round process
- How a compliance posting reads to someone who spent six weeks on it
- The cumulative candidate hours a policy consumes
Measured on
- Optionality: an approved requisition that can be paused costs less than one that cannot
- Consistency and legal defensibility across every hire
- Cost control, on a cycle measured in quarters rather than in conversations
What it looks like
Composite excerpts, written to be typical rather than copied. No particular message, company or person is quoted here.
Requisition funded: finance · Band: compensation · Level: levelling committee
External posting required regardless of an internal candidate: policy
Interviews conducted: the team. Rejection sent: the recruiter.
The candidate only ever meets the last two rows.
What to notice: Several observations in this registry are the visible end of a decision taken in a row the candidate never sees.
What this position could do
Each of these is something this position actually controls, with the cost stated rather than implied.
Publish the band on the posting itselfCost: medium
The band and the levelling grid are set in this layer, and nothing downstream can disclose a number this layer has not released. Publishing it turns the reconciliation at bar.compensation_levelling_reconciliation into arithmetic rather than a conversation that happens for the first time after the panel.
What it costs: The published number becomes a commitment the band cannot be quietly revised against mid-search, and it is legible to everyone already employed at that level.
Addressesmech.unstated_compensation_band_discrepancybar.recruiter_screening_callbar.compensation_levelling_reconciliationpat.compensation_double_bind
Sign the headcount before the role is publishedCost: high
This layer decides whether a requisition is funded, and bar.headcount_executive_budget_approval is the only gate that stops a process after every person the candidate met has said yes. Moving the finance signature ahead of publication makes the later approval a countersignature, so a published role is one whose headcount already exists.
What it costs: Budget is committed at publication rather than at the offer, and a requisition funded in advance is harder to pause than one approved at the end.
Addressesbar.headcount_executive_budget_approvalbar.requisition_approval_public_postingmech.headcount_freeze_or_budget_cancellationobs.position_closed_after_final_interview_without_hire
Expire the listing when its authorisation lapsesCost: medium
Whether a requisition stays funded is decided here, and that fact reaches no configuration screen on its own. A rule that withdraws the listing when authorisation lapses, and notifies everyone still inside the process, closes the gap between the decision and what the page shows.
What it costs: A paused search cannot be kept warm: reopening means another trip through the approval chain and a posting that restarts from zero applicants, which is a direct charge on this layer's optionality.
Addressesmech.stale_or_orphaned_job_requisitionmech.headcount_freeze_or_budget_cancellationbar.application_ingestionpat.closed_then_reposted_requisition_motifloop.inflated_requirements_search_saturation_loopobs.complete_silence_after_submissionobs.position_closed_after_final_interview_without_hireobs.offer_rescinded_or_delayed_due_to_internal_freeze
State on the posting that an internal candidacy existsCost: medium
The rule that a role is published externally regardless of an internal candidate sits in this layer, and so does what the posting may say. One line stating that an internal candidacy is in process gives an external applicant, at the point of applying, the fact the panel already has.
What it costs: The external pool for those postings shrinks, which weakens the same posting as evidence of an open search, and an internal candidacy goes in writing before the search has concluded.
Addressesmech.pre_selected_internal_candidatebar.requisition_approval_public_postingobs.generic_closer_alignment_rejection_templateobs.position_closed_after_final_interview_without_hire
Narrow the checks and show the candidate any discrepancyCost: medium
Which checks a role requires, and whether a third-party record is put to the candidate before it decides anything, are both settled in this layer. At bar.reference_background_verification a mismatch between a vendor record and an application holds the offer, and only a policy rule makes the candidate's account part of the file before the hold becomes a decision.
What it costs: Every discrepancy adds a round trip before countersignature, and the single standard check pack has to be split by role instead of running identically on every hire.
Addressesbar.reference_background_verificationbar.offer_closing_contract_executionmech.reference_check_discrepancy_or_regulatory_ineligibility
Entries this position can see
- obs.compensation_band_reduced_or_altered_mid_processCompensation band reduced or altered mid-process
- obs.feedback_stating_candidate_is_overqualified_for_the_gradeFeedback stating candidate is overqualified for the grade
- obs.generic_closer_alignment_rejection_templateGeneric "closer alignment" rejection template
- obs.offer_accepted_followed_by_delayed_start_date_or_post_signing_revocationOffer accepted followed by delayed start date or post-signing revocation
- obs.offer_rescinded_or_delayed_due_to_internal_freezeOffer rescinded or delayed due to internal freeze
- obs.position_closed_after_final_interview_without_hirePosition closed after final interview without hire
- obs.rejection_naming_a_jurisdiction_or_work_eligibility_groundRejection naming a jurisdiction or work-eligibility ground
- obs.republished_job_posting_with_refreshed_date_and_identical_requirement_bodyRepublished job posting with refreshed date and identical requirement body
- bar.requisition_approval_public_postingRequisition Approval & Public Posting
- bar.outbound_sourcing_talent_pool_contactOutbound Sourcing & Talent Pool Contact
- bar.inbound_screening_triageInbound Screening & Triage
- bar.recruiter_screening_callRecruiter Screening Call
- bar.team_cross_functional_panelTeam & Cross-Functional Panel
- bar.compensation_levelling_reconciliationCompensation & Levelling Reconciliation
- bar.headcount_executive_budget_approvalHeadcount & Executive Budget Approval
- bar.reference_background_verificationReference & Background Verification
- bar.offer_closing_contract_executionOffer Closing & Contract Execution
- bar.client_profile_approval_and_client_interviewClient Profile Approval and Client Interview
- bar.probation_period_post_start_confirmationProbation Period & Post-Start Confirmation
- mech.bench_priority_fillBench-Priority Fill
- mech.experience_age_grading_mismatchExperience-Age Grading Mismatch
- mech.headcount_freeze_or_budget_cancellationHeadcount Freeze or Budget Cancellation
- mech.location_or_timezone_compliance_constraintLocation or Timezone Compliance Constraint
- mech.mid_process_role_requirement_redefinitionMid-Process Role Requirement Redefinition
- mech.pre_selected_internal_candidatePre-Selected Internal Candidate
- mech.probation_used_as_extended_de_facto_interviewProbation Used as Extended De-Facto Interview
- mech.reference_check_discrepancy_or_regulatory_ineligibilityReference Check Discrepancy or Regulatory Ineligibility
- mech.speculative_sourcing_talent_pooling_without_openingSpeculative Sourcing / Talent Pooling Without Opening
- mech.stale_or_orphaned_job_requisitionStale or Orphaned Job Requisition
- mech.start_date_slippage_and_post_acceptance_revocationStart-Date Slippage and Post-Acceptance Revocation
- mech.unstated_compensation_band_discrepancyUnstated Compensation Band Discrepancy
- pat.compensation_double_bindCompensation Double Bind
- pat.seniority_double_bindSeniority Double Bind
- int.auto_close_stale_job_requisitionsAuto-Close Stale Job Requisitions
- int.bench_availability_declared_at_each_stage_gateBench availability declared at each stage gate
- int.contractable_jurisdictions_listed_in_the_postingContractable jurisdictions listed in the posting
- int.dated_funding_certification_before_the_final_roundDated Funding Certification Before the Final Round
- int.disqualifying_criteria_published_with_the_postingDisqualifying criteria published with the posting
- int.internal_candidacy_stated_in_the_postingInternal Candidacy Stated in the Posting
- int.outreach_states_the_requisition_behind_itOutreach States the Requisition Behind It
- int.publish_the_technical_screen_s_columns_and_threshold_before_the_roundPublish the Technical Screen's Columns and Threshold Before the Round
- int.screening_note_bound_to_observations_and_disposition_codesScreening Note Bound to Observations and Disposition Codes
- int.standardized_late_stage_rejection_feedback_taxonomyStandardized Late-Stage Rejection Feedback Taxonomy
- int.strict_take_home_timebox_blinded_evaluation_rubricStrict Take-Home Timebox & Blinded Evaluation Rubric
- int.upfront_compensation_band_disclosureUpfront Compensation Band Disclosure
- int.verification_discrepancy_disclosure_and_reconciliation_windowVerification Discrepancy Disclosure and Reconciliation Window