5 runs on record Β· click a run to load it into the dashboard
Rule Governance
Zoom Careers Posting Audit β full audit logic, prompt rules, tools, and assumptions
1. Audit Scope & Purpose
This tool audits publicly visible external job postings on careers.zoom.us. It is scoped to Zoom-controlled content only β third-party aggregator pages (LinkedIn, Indeed, Glassdoor) are out of scope. Internal-only or confidential requisitions are excluded.
The audit serves three purposes: (1) identify legal and regulatory compliance risks before or after postings go live; (2) enforce Zoom brand and formatting standards; (3) surface recruiter-level patterns to support coaching and process improvement.
2. Audit Categories, Rules & Severity
Category
Severity
Escalation Lane
Rule / Detection Logic
Regulatory Basis
Salary / Pay Range
CRITICAL
Fast-track D0/D1/D3
Posting lacks a disclosed compensation range or range floor/ceiling. Triggered for any US-based role (all states). Salary floor only without ceiling also flagged.
NY S9427A, CO EPEWA, CA SB 1162, WA SB 5761, IL SB 3129, and emerging state/local pay transparency statutes. OFCCP affirmative action risk for federal contractors.
Age Bias
HIGH
Fast-track D0/D1/D3
Detects phrases implying age preference: "recent graduate", "digital native", "young and hungry", "early career preferred", graduation year requirements, experience caps ("0β2 years only").
ADEA (Age Discrimination in Employment Act), 29 CFR Part 1625. Risk of systemic discrimination claim in hiring algorithm context (EEOC 2023 AI guidance).
Gender Bias
HIGH
Fast-track D0/D1/D3
Detects gendered nouns and bro-culture coded language: "rockstar", "ninja", "guru", "manpower", "foreman", "chairman", "guys", "dominant", "competitive alpha". Also flags masculine-coded adjective density (>3 per 100 words).
Title VII of the Civil Rights Act. EEOC guidance on sex discrimination. Risk elevated for roles in tech/engineering where gender skew is monitored.
Race / Ethnicity Bias
HIGH
Fast-track D0/D1/D3
Culture-coded terms used as desired attributes: "champion", "warrior", "tribe", "pow-wow". Also detects language that could correlate with socioeconomic proxies for race (e.g., specific university prestige requirements without equivalence language).
Title VII. EEOC Uniform Guidelines on Employee Selection Procedures (UGESP). Adverse impact doctrine.
Disability Bias
HIGH
Fast-track D0/D1/D3
Physical or sensory requirements not justified by essential job function: "move quickly", "must be able to lift 50 lbs" (desk role), "must have perfect vision". Also flags absence of reasonable accommodation statement for roles where it is expected.
ADA Title I, 42 USC Β§12112. Section 503 (federal contractor). OFCCP enforcement guidance 2022.
Education Requirements
HIGH
Fast-track D0/D1/D3
Degree requirement listed without "or equivalent experience" language. Detects "Bachelor's/Master's/PhD required" without alternative pathway. Raises PERM risk for H-1B-eligible roles if the requirement locks out equivalent experience.
DOL PERM regulations 20 CFR 656. USCIS H-1B specialty occupation requirements. Also EEO best practice (degree requirements must be job-related and consistent with business necessity under Griggs v. Duke Power).
Formatting Issues
MEDIUM
Fast-track D0/D1/D3
Section order deviates from Zoom standard template (expected: About the Role β What You'll Do β What We're Looking For β What Zoom Offers). Inconsistent bullet styles. Duplicate section headers. Posting body exceeds 900 words (readability risk). Missing required sections.
Passive voice ratio >30% of sentences. Vague ownership language ("support", "assist with", "help"). Invisible non-breaking space characters (Unicode U+00A0) β common when pasting from Word/Google Docs, breaks ATS parsing. Jargon density check. Job title repeated in body text.
Section headings inconsistently cased (mix of Title Case and sentence case in same posting). Expected: sentence case throughout per Zoom brand standard. Job title itself must match Workday job profile title exactly.
Font-family deviates from Almaden Sans (expected). Font size out of spec (headings: 16px; body: 14px). Color deviation from #00031f brand standard (rgb(0,3,31) treated as equivalent). Heading hierarchy broken (H3 before H2).
Zoom Brand Guidelines v4.1. Almaden Sans typeface is the sole approved display and body font for careers content.
Font Size / Style
LOW
Standard D0/D4/D5
Minor font size deviations (<2px off spec). Inline style overrides that don't materially alter readability. Italic use where plain text is expected.
Zoom posting quality baseline. No regulatory risk.
Bold Text
LOW
Standard D0/D4/D5
Excessive bolding (more than 3 bolded phrases per 100 words). Entire sentences bolded. Bold used for decorative rather than semantic emphasis.
Zoom posting quality baseline. No regulatory risk.
Bullet Consistency
PAUSED
N/A
Mixed bullet markers (dashes vs dots vs squares) in same list. Currently paused pending TA Ops decision on enforcement scope.
Zoom style guide. Paused per TA Ops direction June 2026.
3. Escalation Protocol
All escalation notifications are AI-drafted and require PX Compliance approval before delivery (human-in-the-loop gate). The clock starts on firstFlaggedDate β the earliest audit run on which the finding was open.
Lane
Applies To
Day 0
Day 1 / Day 4
Day 3 / Day 5
Standard
LOW severity
Notify recruiter (after PX Compliance approval)
Day 4: Follow-up + cc Recruiting Manager
Day 5: Escalate to TA Manager + Head of PX Compliance
Fast-track
MEDIUM Β· HIGH Β· CRITICAL
Notify recruiter (after PX Compliance approval)
Day 1: Escalate to TA Manager + Head of PX Compliance
Day 3: Escalate to Head of Talent + Head of PX Compliance
A resolved finding (no longer present in the current scrape) is annotated [RESOLVED: <Category>] and removed from the open set. If a finding reappears after resolution, its clock resets to Day 0 on the date it re-emerges.
4. Tools & Technologies
Layer
Tool / Language
Purpose
Scraping
Python 3.11 Β· requests Β· BeautifulSoup4
Fetches rendered HTML from careers.zoom.us for each active posting. JavaScript-rendered content retrieved via playwright headless Chromium where needed.
Applies all 13 audit categories against parsed posting HTML. NLP used for passive voice detection, gendered language scoring, and writing quality analysis.
Pay Transparency
Custom rule set (Python) Β· jurisdiction lookup table
Maps posting location to applicable pay transparency statutes and checks for required salary disclosure elements.
Typography Analysis
CSS parser Β· inline style extractor (Python)
Reads inline style attributes to detect font-family, font-size, and color deviations from brand spec. rgb(0,3,31) is normalized to #00031f before comparison.
Data Storage
JSON (audit-history.json) Β· Google Sheets API v4
Each run appended to audit-history.json in Google Drive. Google Sheet synced post-run for recruiter mapping and report tabs.
Report Generation
Python Β· openpyxl Β· Google Sheets API
Produces multi-tab Excel report converted to Google Sheet. Tabs: Job Posting Audit Β· Recruiter Mapping Β· Notification & Escalation Β· Audit History Β· Audit Summary.
Dashboard
Vanilla HTML Β· CSS Β· JavaScript (ES2020)
Single-file self-contained dashboard. No build toolchain. Injected with audit-history.json at run time via render_dashboard.py string substitution on <!--HISTORY_INJECT--> marker.
Notification Drafting
Claude (Anthropic API) Β· Gmail API
AI drafts per-recruiter digest emails. PX Compliance reviews and approves drafts before send. Acknowledgements parsed from Gmail subject:ACK replies.
Recruiter Mapping
Google Sheets (ID: 1NIMGm7NVAHnRotQnzFIMMBLo-NezvLJ_dt0I7qbx2ns)
Sole source of truth for recruiter name β email, manager, and TA team. Never modified without explicit PX Compliance approval.
Org Data
Workday API (VXD org tree)
Used for org hierarchy traversal only. Not used for posting content.
5. Assumptions & Inferences
#
Assumption / Inference
Rationale & Risk If Wrong
A1
Posting location determines applicable pay transparency law. Location is inferred from the "Location" field in the posting header; if blank or "Remote", the posting is treated as US-national and audited against all active state statutes.
If a remote role is actually restricted to a non-disclosure state, flag may be a false positive. Risk: low over-notification.
A2
rgb(0,3,31) and #00031f are treated as identical brand colors. This normalization is applied before all color deviation checks.
Confirmed by TA Ops (June 2025). If brand color changes, this constant must be updated in audit-categories.md.
A3
Capitalization whitelist: mid-sentence occurrences of You / We / I / Our / Your / Us are never flagged as casing errors. These reflect Zoom's second-person brand voice convention.
Confirmed per brand guidelines. Risk: near zero.
A4
"Required sections" severity is tiered: 1 missing section = MEDIUM; 2 missing = HIGH; 3+ missing = CRITICAL. This tiering is a PX Compliance policy inference, not explicitly stated in the style guide.
Communicated verbally by Head of PX Compliance (May 2026). Awaiting written confirmation.
A5
Bullet Consistency is paused as an active flag category. Inconsistencies are still detected and logged to audit-history.json but not escalated or included in notification emails.
Per TA Ops direction June 2026. Resume date TBD.
A6
Degree requirements are flagged for PERM/H-1B risk only when the role is in a title category that historically supports H-1B sponsorship (engineering, product, data science, finance). Business and operations roles are flagged at MEDIUM instead of HIGH.
Based on DOL PERM patterns. Legal counsel should validate jurisdiction-specific application.
A7
Invisible character detection (Unicode U+00A0, U+200B, U+FEFF) is treated as a MEDIUM finding regardless of frequency, because even a single instance can break ATS field parsing.
Confirmed by Workday ATS team. Risk if ATS is upgraded and becomes tolerant: false positives. Low probability near-term.
A8
firstFlaggedDate is set to the run date on which a finding first appears. If audit history predates this tool, findings have no prior-run baseline and all start at Day 0 on their first detected run.
Acknowledged gap. Historical backfill not planned. Impact: some findings may have aged past their escalation threshold before the tool launched.
A9
Recruiter assignment is taken from the Recruiter Mapping Google Sheet. If a posting has no recruiter assigned in the sheet, it is flagged as "Unassigned" and routed to the TA Manager for that region.
Mapping sheet is updated manually by TA Ops. Lag between assignment and sheet update is a known gap.
A10
This tool is an unverified research aid for a qualified reviewer, not a legal determination. Every finding must be reviewed by a qualified HR, legal, or compliance professional before remediation action is taken or notifications are sent.
Core operating assumption. The tool does not constitute legal advice.
6. Version & Change Log
Version
Date
Change
Author
V1.2
2026-06-25
Added Rule Governance page, recruiter filter, per-run Sheet/PDF links, Findings and Recommended Fix columns in Open Flags, title hyperlinks to careers.zoom.us