Block G Posting Legitimacy Signals for Detecting Ghost Jobs in Career-Ops
Block G evaluates nine discrete qualitative signals independently of the numeric 1-5 score to flag ghost jobs, scams, and fraudulent listings through jurisdiction checks, agency licensing, AI buzzword validation, and posting freshness analysis.
The santifer/career-ops repository uses Block G as its dedicated posting-legitimacy section to surface evidence that a job posting may be a ghost, scam, or duplicate. Unlike the quantitative 1-5 global score, Block G produces a separate qualitative assessment rendered as ✅, ⚠️, or — flags in the final report. Understanding these Block G posting legitimacy signals for detecting ghost jobs helps candidates and auditors identify fabricated or stale listings before applying.
What Is Block G?
Block G is the standalone legitimacy tier in the Career-Ops evaluation pipeline. It aggregates discrete detection signals into a final verdict of ✅ High Confidence, ⚠️ Proceed with Caution, or ⚠️ Suspicious without altering the underlying numeric score. Each signal inspects a specific facet of the posting—such as licensing, location consistency, or benefits terminology—and contributes to the overall qualitative risk picture.
Nine Ghost-Job Detection Signals
The engine currently evaluates nine signals. Each is defined in modes/oferta.md and backed by one or more template files.
Agency-Licensing Signal
This signal checks the posting operator—whether a recruiter or temp agency—against the jurisdiction-specific licensing table stored in templates/agency-licensing.yml. Unlicensed agencies are statistically over-represented among ghost postings and fee scams. A missing or invalid license triggers a ⚠️ flag in the Block G report.
Third-Party Platform Location-Tag Mismatch
The engine compares the location displayed on a third-party job board, such as LinkedIn or Indeed, with the location declared on the employer’s own job page when both sources map to the same requisition or job ID. When the tags differ materially—especially across countries—Block G surfaces a mismatch warning. This pattern strongly suggests a fabricated or stale posting.
Benefits-Terminology Country Mismatch
Signal 10 in Block G scans for benefit terms that legally belong to a different jurisdiction than the stated posting location. For example, a Canadian posting that lists "401(k)" instead of a local equivalent raises an immediate flag. The prohibited patterns live in templates/jurisdiction-prohibited-content.yml. Mismatched benefits usually indicate copy-paste or bogus listings.
AI-Buzzword vs. Infrastructure Mismatch
When a posting advertises AI-heavy buzzwords such as "LLM-ops" or "large-scale AI," Block G cross-checks the claim against the company’s public tech stack and infrastructure evidence. If the public footprint does not support the claim, the engine flags a mismatch. Over-hyped AI claims are common in fraudulent or low-quality listings.
Immigration-Status Requirement Overreach
This signal detects explicit demands for a specific immigration status—such as "must be a US citizen"—that exceed lawful work-authorization screening. The detection patterns are defined in templates/immigration-status-requirements.yml. Such over-reach correlates with low-quality or malicious postings.
Jurisdiction-Prohibited Content
Block G scans the posting for content that is illegal in the candidate’s jurisdiction, for example "must have Canadian experience" in Ontario. The source patterns reside in templates/jurisdiction-prohibited-content.yml. Illegal requirements typically appear only in badly crafted or fake postings.
Posting Churn and Freshness
The engine analyzes posting churn, or how many times the same role appears in the scan history, as referenced in modes/oferta.md. A high churn rate is a classic ghost-job indicator. Identical jobs re-posted within a short window suggest a scam or duplicate listing rather than a genuine opening.
Employment-Classification Language
This signal detects contractor-style or ambiguous employment terms—such as "contract-to-hire"—inside the posting body. Unclear classification often correlates with ghost or low-commitment listings. The result appears as the Employment classification row in Block G.
AI-Infrastructure Consistency Check
When an AI-related claim is present, the system may run an extra consistency check and mirror its verdict in Block G. If the claim is ✅ consistent, the row clears; if ⚠️ findings surface, they reinforce the ghost-job suspicion. This check is rendered alongside the AI-buzzword signal for layered validation.
How Block G Aggregates Results
The final Block G tier is derived from the aggregate state of the signals above. If no concerning signal fires, the tier is ✅ High Confidence. If one or more signals produce warnings, the tier becomes ⚠️ Proceed with Caution. Multiple strong warnings escalate the tier to ⚠️ Suspicious. The tier itself is displayed after Block G and before the final Risk Summary, and it does not affect the numeric 1-5 score.
Rendering Block G in a Report
The following excerpt from modes/oferta.md shows how the engine renders the Block G table in a final report. Developers can expect the same row structure to be auto-generated once each signal’s detection logic is present.
## Block G — Posting Legitimacy
| Signal | Verdict | Detail |
|--------|---------|--------|
| Posting legitimacy | ⚠️ Proceed with Caution — location-tag mismatch | "LinkedIn shows Berlin, employer page shows Paris (req # 12345)" |
| Agency licensing | ✅ Licensed | "Agency XYZ (Ontario THA licence # 123456)" |
| AI-buzzword vs infrastructure | ⚠️ Mismatch | "Job advert touts 'LLM-Ops', but company's public repo shows no AI services" |
| Employment classification | — not evaluated | |
| … (other rows) |
Key Source Files
The Block G architecture is distributed across the following files in the santifer/career-ops repository:
modes/oferta.md— Central definition of the Block G section and orchestration of all signals.templates/agency-licensing.yml— Data table for the Agency-Licensing signal.templates/jurisdiction-prohibited-content.yml— Patterns for Jurisdiction-Prohibited Content and Benefits-Terminology Mismatch signals.templates/immigration-status-requirements.yml— Detection data for Immigration-Status Overreach.CHANGELOG.md— Historical record of when each Block G signal was added.AGENTS.md— Documentation on how Block G signals influence downstream evaluation decisions.
Summary
- Block G operates independently of the 1-5 global score to provide a qualitative ghost-job assessment.
- Nine discrete signals cover agency licensing, location-tag alignment, benefits terminology, AI buzzword validity, immigration overreach, prohibited content, posting churn, employment classification, and AI infrastructure consistency.
- Each signal pulls detection patterns from dedicated YAML templates under the
templates/directory. - The final tier—✅ High Confidence, ⚠️ Proceed with Caution, or ⚠️ Suspicious—is rendered in the report before the Risk Summary.
- Source definitions live primarily in
modes/oferta.mdand are backed bytemplates/agency-licensing.yml,templates/jurisdiction-prohibited-content.yml, andtemplates/immigration-status-requirements.yml.
Frequently Asked Questions
Does Block G affect the 1-5 global score?
No. Block G is a separate qualitative tier that runs independently of the numeric scoring axis. It renders ✅, ⚠️, or — verdicts that appear after Block G and before the Risk Summary, but it never modifies the underlying 1-5 score.
How does the location-tag mismatch signal detect ghost jobs?
The engine compares the location tag on a third-party board such as LinkedIn or Indeed against the employer’s own job page for the same requisition ID. If the two tags point to different countries or otherwise conflict, Block G flags the mismatch because fabricated or stale postings often fail to keep location data synchronized across platforms.
What triggers the AI-buzzword vs. infrastructure mismatch flag?
If a posting uses heavy AI terminology like "LLM-ops" but the company’s public repositories, tech stack, or infrastructure evidence show no supporting AI services, Block G raises Signal 7. This mismatch is common in fraudulent listings that copy trending keywords without backing technology.
Where are jurisdiction-specific detection patterns stored?
Prohibited content and mismatched benefits terminology are defined in templates/jurisdiction-prohibited-content.yml. Immigration-status overreach patterns live in templates/immigration-status-requirements.yml. Agency-licensing data resides in templates/agency-licensing.yml.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →