Skip to content
Surhires

Free tool

In build

Flag a posting before it goes out without a range

Paste a job posting, pick where you intend to publish it, and see where a missing or vague salary range is likely to be a problem before it is live.

The Surhires pay transparency checker will take a pasted job posting and the jurisdictions you plan to publish to, and flag where a salary range appears to be missing, too wide to be meaningful, or missing the benefits detail a rule asks for. It prompts a human decision. Your counsel remains the authority.

By Surhires Editorial · Published · Reviewed

In the product: in build for Wave 1 as a free public tool

What the checker looks for in a posting

It reads the posting for a compensation statement and classifies what it finds. A specific range with a floor and a ceiling is one thing. A single figure, a starting-from figure, a range so wide it communicates nothing, a phrase like competitive salary or depending on experience, and an outright absence are all different things, and rules treat them differently.

Beyond the range itself it looks for the surrounding detail that several rules require: whether other compensation is described, bonus, commission, equity, whether a benefits summary is present, whether the posting states the basis, hourly, annualised or a contract rate, and whether the currency is stated at all. It also picks up an internal contradiction, a range in the body and a different figure in a boilerplate footer, which is a common way a compliant posting stops being compliant.

You pick the places you are publishing to, and the answer changes

Pay transparency is not one rule. It is a growing set of state, city, provincial and national rules that differ on who is covered, what has to be disclosed, whether internal postings are included and what counts as a good-faith range. A posting that is fine in one place can be a problem two states away, and the tool is only useful if it knows where you are actually publishing.

So you select the jurisdictions before you run the check, and the flags come back grouped by jurisdiction with the specific issue named. That structure matters more than a single pass or fail. Knowing that a posting is fine in three of your four target markets and short of the requirement in the fourth is an actionable result. A red cross with no location attached is not.

  • Select every jurisdiction the posting will be published to, not just where the office is
  • Flags are grouped per jurisdiction, with the specific gap named
  • Distinguishes a missing range from a range too wide to read as good faith
  • Notes where other compensation or benefits detail is expected alongside the range
  • Catches a contradiction between the body copy and a template footer
  • Says when a rule is one you should confirm rather than one it can test

Remote roles turn on the candidate's location, not the employer's

This is the part that catches people out. A remote role advertised by a company headquartered somewhere with no disclosure requirement can still fall under a rule because the person who applies lives somewhere that has one. Several rules are written around where the work can be performed or where the applicant is, rather than where the employer sits, and a posting that says remote, anywhere is by definition open to those places.

The checker asks explicitly whether the role is remote and, if so, which locations you are prepared to hire from. If the answer is anywhere in the country, it applies every jurisdiction in that country that has a disclosure rule, because that is the exposure you have created by writing the word anywhere. If you restrict the hiring locations in the posting, the flags narrow accordingly, which is often the simpler fix.

The practical consequence is that many employers publishing genuinely open remote roles end up disclosing a range regardless, because restricting is more work than disclosing. The checker shows you that trade-off rather than making it for you.

Every rule the checker tests against carries the date it was last reviewed, and that date is shown in the result rather than hidden in a changelog. Legislation in this area moves quickly: new laws pass, effective dates arrive, thresholds change, and guidance gets reissued. A checker that does not tell you how old its rules are is asking you to trust something you cannot inspect.

We maintain the library and we will say when a rule was last checked. We will not tell you that your posting is compliant. The checker produces flags, and a flag is a prompt for a person to look at something, not a determination. Whether a rule applies to your organisation depends on your headcount, your entity structure, where your employees sit and facts about the role that no tool can see from pasted text.

Your counsel is the authority on all of it. That is not a disclaimer added at the bottom to cover us; it is the correct division of labour. A tool is good at noticing that a posting has no range in it. It is not good at deciding whether your company is covered.

What happens to the posting you paste in

The checker will process the posting text to produce the flags and will not retain it. Nothing is written to a Surhires account, no account is required, and the text is not used to train a model or to build a job data set.

A job posting is usually your own content rather than somebody else's personal data, which makes this tool lower risk than the resume screener. It stops being low risk if the draft you paste contains a hiring manager's name and contact details, an internal salary band you have not published, or client information on an agency-drafted ad. Pasting a client's unpublished compensation band into a free web tool is a commercial and sometimes a contractual decision, and it is yours to make. Strip anything internal before you paste, and the check runs just as well.

What the checker will not do

It will not tell you what range to publish. A good-faith range is a judgement about what you would genuinely pay, informed by your bands and your market, and inventing one for you would be worse than useless. It will not check pay equity between existing employees, which is a different obligation with different data behind it, and it will not audit your internal bands.

It will not cover every jurisdiction. The library covers the rules we have reviewed, and it names them; anywhere outside that list comes back as not covered rather than as passed, because a silent pass on an untested jurisdiction is the most dangerous output a tool like this could produce. It will not post the job, and it will not monitor a live posting for a rule that changes after publication.

The same check, at the point of publishing, inside the product

A free checker helps with one draft at a time. The problem it addresses is really a publishing-workflow problem: postings go out from templates, to multiple boards, edited by several people, and the one that goes out without a range is rarely the one somebody thought to check.

Inside Surhires the pay transparency validator runs against a posting before it is distributed to boards, using the jurisdictions the posting is actually being published to rather than the ones you remembered to select. The compliance posture on this is a capability statement rather than a certification: the product supports checking a posting against the salary-range disclosure rules of the places it goes to, and flags it before it goes out. What you do with the flag is your decision.

What you get

Range detection

Finds the compensation statement and classifies it as specific, vague, single-figure or absent.

Good-faith width check

Flags a range so wide it is unlikely to read as a genuine intended band.

Jurisdiction selection

You pick every place the posting will be published; flags come back grouped by place.

Remote-role handling

Applies rules based on where the candidate may sit, not where the employer is registered.

Hiring-location narrowing

Restricting the locations in the posting narrows the flags, and the tool shows the trade-off.

Other compensation

Checks whether bonus, commission or equity is described where a rule expects it.

Benefits summary

Notes where a benefits description is expected alongside the range.

Basis and currency

Flags a range with no stated hourly, annual or contract basis, or no currency.

Internal contradiction

Catches a figure in the body that disagrees with a template footer.

Dated rules

Every rule shows when it was last reviewed, in the result rather than a changelog.

Explicit not-covered

An untested jurisdiction returns not covered rather than a silent pass.

No retention

Posting text is processed to produce the flags and is not kept afterwards.

Questions recruiters ask

Does a clean result mean my posting is compliant?

No. The checker produces flags, and the absence of a flag means it did not find one of the things it tests for. Whether a rule applies to your organisation depends on headcount, entity structure, where your employees sit and facts the tool cannot see from pasted text. Your counsel decides compliance. This tool prompts a human to look.

How do remote roles work?

Several rules turn on where the candidate is or where the work may be performed rather than where the employer is registered. A role advertised as remote anywhere is open to every jurisdiction in that scope, so the checker applies all of them. Restricting the hiring locations in the posting narrows the flags, and is often the simpler fix.

How current is the rules library?

Every rule carries the date it was last reviewed and that date is shown in the result. Legislation here moves quickly, so a rule reviewed some months ago may have changed. We maintain the library and we tell you its age rather than implying it is current by omission. Confirm anything consequential with your counsel.

Will it tell me what salary range to publish?

No. A good-faith range is a judgement about what you would genuinely pay, based on your bands and your market. A tool inventing one for you would produce a number you cannot stand behind, which is worse than an honest gap. The checker tells you a range is missing or too vague. Deciding the figure is yours.

Do you keep the job posting I paste in?

No. The text is processed to produce the flags and is not retained, nothing is written to an account, and it is not used to train a model. If your draft carries an internal band, a hiring manager's contact details or an agency client's unpublished terms, strip those before pasting. That decision sits with you, and the check runs just as well without them.

Which jurisdictions are covered?

The ones in the library, and the tool names them and dates them. Anywhere outside that list returns not covered rather than passed, because a silent pass on an untested jurisdiction is the worst thing a tool like this could tell you. The list will grow, and we will not imply coverage we have not reviewed.

Is the checker available today?

No. It is in build for the Wave 1 release as a free public tool and there is no published launch date. Inside the product, the pay transparency validator is designed to run at the point a posting is distributed to boards, which catches the postings that go out from a template without anyone thinking to check them.

See it against your own reqs

Bring one live role and three resumes. In twenty minutes you will see the match scores, the shortlist and the placement invoice that comes out the other end.