Bulk Staff Personal Details Extract

Tabular HRIS, payroll or reporting exports of staff personal details that do not carry TFNs: a CSV, spreadsheet or pipe/tab-delimited header row of HR column labels (employee / staff ID, name, date of birth, home address, position / classification, commencement or termination date, employment status) followed by populated staff rows. Detected from the extract's own structure, so it fires wherever the file lands (code repositories, reporting databases, file shares, test data folders), not only in HR-branded systems.

Type
regex
Engine
boost_regex
Confidence
medium
Confidence justification
Medium: a header of HR column labels followed by rows that pair an ID with a birth-year date is distinctive of a staff extract, and blank import templates, data dictionaries and org-chart role lists lack either the personal-detail column or populated rows. Some non-HR person extracts (member, student or volunteer lists that use "staff" or "employee" style ID columns) will also match, and extracts whose cells are split onto separate lines by the text extractor lose the header-row structure and fall below 65. The 85/75 tiers are heuristic evidence tiers, not measured accuracy; tests are synthetic extracts.
Jurisdictions
global, au
Regulations
Privacy Act 1988 (Cth), Information Privacy Act 2009 (Qld), NDB Scheme (Cth), Fair Work Regulations 2009 (Cth), GDPR
Frameworks
ISO 27001, ISO 27701, QGISCF
Data categories
pii, employment
Scope
wide
Risk rating
8
Platform compatibility
Purview: Compatible, GCP DLP: Compatible, Macie: Unsupported, Zscaler: Compatible, Palo Alto: Degraded, Netskope: Unsupported

Pattern

(?i)\b(?:"?(?:(?:employee|staff|emp|payroll)[ _.]?(?:id|no\.?|num(?:ber)?|code)|(?:first|given|last|family|full)[ _]?names?|surname|d\.?o\.?b\.?|date[ _]of[ _]birth|birth[ _]?date|(?:home|residential|postal)[ _]address|address|suburb|postcode|position(?:[ _](?:title|number|no\.?))?|job[ _]title|classification|level|(?:commencement|start|hire|termination|end|cessation)[ _]date|employment[ _](?:status|type)|cost[ _]centre|department|work[ _]unit|gender|mobile|phone|email)"?(?:[ \t]{0,3}[,;|\t][ \t]{0,3}|[ \t]{2,6})){3,24}"?(?:(?:employee|staff|emp|payroll)[ _.]?(?:id|no\.?|num(?:ber)?|code)|(?:first|given|last|family|full)[ _]?names?|surname|d\.?o\.?b\.?|date[ _]of[ _]birth|birth[ _]?date|(?:home|residential|postal)[ _]address|address|suburb|postcode|position(?:[ _](?:title|number|no\.?))?|job[ _]title|classification|level|(?:commencement|start|hire|termination|end|cessation)[ _]date|employment[ _](?:status|type)|cost[ _]centre|department|work[ _]unit|gender|mobile|phone|email)

Corroborative evidence keywords

employee ID, date of birth, home address, commencement date, termination date, employment status, position title, classification

Proximity: 300 characters

Should match

Should not match

Known false positives

References