| Role family | Postings | Median midpoint |
|---|---|---|
| engineering | 14 | $174,656 |
| sales | 11 | $140,625 |
| support / ops | 3 | $173,812 |
| marketing | 3 | $210,938 |
| finance / legal | 2 | $176,837 |
| design | 2 | $125,297 |
| product | 1 | $163,012 |
| Title | Location | Low | High |
|---|---|---|---|
| VP, Global GTM Enablement & CX | Atlanta, Georgia | $197,025 | $295,538 |
| Principal Architect | Atlanta, Georgia | $196,500 | $294,750 |
| Chief of Staff to CIO & Head of PMO | Atlanta, Georgia | $194,100 | $291,150 |
| Senior Staff Software Engineer - AI Governance | San Francisco, California | $193,050 | $257,400 |
| Director, North America Field and Partner Marketing | San Francisco, California | $168,750 | $253,125 |
| Director, Web & Digital Growth | San Francisco, California | $168,750 | $253,125 |
| Senior Manager, Software Engineering | Atlanta, Georgia | $166,875 | $250,312 |
| Senior Staff Software Engineer - AI Governance | Atlanta, Georgia | $165,000 | $247,500 |
| Senior Staff Software Engineer - Detection & Discovery | Atlanta, Georgia | $165,000 | $247,500 |
| Lead Corporate Counsel, Commercial | San Francisco, California | $139,725 | $220,000 |
| Staff Software Engineer | San Francisco, California | $139,725 | $209,588 |
| Staff Software Engineer | Atlanta, Georgia | $139,725 | $209,588 |
Across 36 postings that state a pay range, the median midpoint is $162,365. The middle 50% sits between $138,281 and $186,459, and the 90th percentile is $218,081. All figures are annualised and converted to USD.
36 of the postings we read from greenhouse carried a range on the day we measured (2026-10-24). The rest did not publish pay at all, so they are not in these numbers.
engineering is the largest family in this sample (14 postings, median $174,656). The table above lists every family we saw and the highest individual ranges.
No. This is what the company itself published in its job postings, normalised to a yearly USD range. Real offers vary by level, location and equity, and many postings omit pay entirely.
These 36 rows are part of one CSV covering every company we read: the full dataset (salary-ranges-full.csv) under CC BY 4.0. Or pull it into Python:
pip install https://sjdfi0wjvosdju9.github.io/packages/salaryranges-0.1.1-py3-none-any.whl
import salaryranges
salaryranges.by_company("onetrust")
If you want the same numbers refreshed on a schedule, including the postings that never publish pay, that is the paid part: ATS Job Feed ($0.0015 per returned job).