Skip to content
Surhires

Data protection

In build

Know why you hold every candidate record, and for how long

A candidate database fills up with people who never asked to be in it, and the obligations that attach to those records do not wait for a reply.

Surhires is building consent and retention controls into the candidate record: the lawful basis you rely on, the source and timestamp of consent, a retention clock that runs from the last meaningful contact, a review-or-erase decision at expiry, and export and erasure workflows you run yourself.

By Surhires Editorial · Published · Reviewed

In the product: in build for Wave 1: consent basis on the candidate record, configurable retention windows, export and erasure workflows

A candidate database is a harder problem than a customer list

A customer database is made of people who chose you. They filled in a form, bought something, opened an account, and the relationship has a beginning everybody agrees on. A candidate database is not like that. A large part of it is made of people who never asked to be there: sourced from a public profile, forwarded by a colleague, uploaded as an attachment by a client, pulled from a job board account you pay for. The obligations that attach to those records do not depend on whether the person ever replied to you.

That is why data protection in recruitment software cannot be a settings page. The record has to carry, from the moment it is created, why you are allowed to hold it and how long that permission runs. Added afterwards, the answer is always the same: nobody knows, so nothing is deleted, and the database becomes a liability that grows every quarter while looking like an asset.

Recruiters search for a GDPR compliant recruitment software, and the phrase is misleading, because no software is compliant on your behalf. You are the controller of the candidate data you hold. What software can do is make the controller's job possible: record the basis, run the clock, produce the export, complete the erasure, and keep the evidence that each of those happened. That is what is being built here.

Lawful basis is a field on the record, not a policy document

Every candidate record carries the basis you are relying on, chosen from a fixed list rather than typed: consent given by the candidate, legitimate interests you have assessed and recorded, a contract you are performing, or a legal obligation. Where the basis is consent, the record also carries the channel it arrived through, the wording that was shown at the time, the timestamp, and the user or form that captured it.

The fixed list matters for the same reason coded dispositions matter elsewhere in the product. A free-text field lets sixty recruiters describe the same basis forty different ways, and the resulting database cannot be counted, reviewed or defended. Four values in a dropdown can be counted on a Monday morning.

Basis changes over a record's life. A candidate sourced under legitimate interests who later replies and opts in moves to consent, and the record keeps both events rather than overwriting the first. Withdrawal is its own dated event too. The history is the evidence, so nothing in it is edited in place.

  • A fixed lawful-basis list rather than a free-text note
  • Source, channel, wording and timestamp captured alongside consent
  • The capturing user or form recorded with the capture
  • Basis changes appended as dated events, never overwritten
  • Withdrawal of consent recorded as its own event on the record

The retention clock runs from the last meaningful contact

Retention measured from record creation is the wrong clock. A candidate you placed eighteen months ago and spoke to last week is a live relationship. A candidate parsed three years ago who has never replied to anything is not, whatever the creation date says. The clock in Surhires will run from the last meaningful contact: a reply, an answered call, an application, a submittal, an interview, or an update the candidate made themselves in the portal.

Meaningful is defined narrowly on purpose. A bulk campaign the candidate ignored does not reset the clock, because if it did, retention would become a function of how often you email people rather than of whether the relationship still exists. Opens and delivery receipts do not count either. A machine event is not a relationship.

Windows are configurable per tenant, and they can differ by record type and by market, because a UK contract desk, an in-house team in the EU and a US agency do not sit under the same expectations. The defaults are set during onboarding and they are your decision. The product will tell you what the field controls; it will not tell you what number your counsel should choose.

Expiry produces a decision, not a silent deletion

When a record reaches the end of its window it does not disappear quietly. It surfaces in a review queue carrying the basis, the last meaningful contact, the reason it was flagged, and the three options: extend with a recorded justification, contact the candidate to refresh consent, or erase.

Automatic deletion on a schedule sounds tidy and is usually wrong. It destroys records somebody had a live reason to hold, and it leaves you with no evidence that any decision was taken. A review queue produces a dated decision with a name against it, which is the thing an auditor, a client or a candidate actually asks to see.

The queue can be worked in bulk. Selecting three hundred dormant records and erasing them together is one action for the recruiter, and the decision is still written three hundred times, once against each record, with the actor and the date.

  • Configurable windows per record type and per market
  • Clock reset only by a contact the candidate took part in
  • Expiry raises a review queue rather than deleting on a timer
  • Extend, refresh or erase, each recorded with actor and date
  • Bulk decisions written individually against every record touched

Subject access is an export you run, not a ticket you raise

A candidate who asks what you hold about them is entitled to an answer, and the answer is more than the profile. The export assembles the structured record, the parsed resume text, the custom fields, the notes, the message history, the call and interview records, the stage and disposition history and the consent events, as CSV for a person to read and JSON for a system to ingest.

It runs from the record rather than through us. There is no support queue in the path, because a request that carries a statutory deadline should not depend on a vendor's response time. The request itself is logged against the record, with who ran it and when, so you can show that it was answered and how quickly.

Where a note names a third party, such as a referee, a client contact or another candidate, the export flags it for review rather than releasing it blindly. The redaction decision belongs to you. The flag exists so you know there is a decision to make before the file leaves the building.

Erasure removes the original file and the extracted text

Most systems that offer deletion delete a row. The uploaded resume stays in object storage, the parsed text stays in the search index, the derived representation stays wherever it was written, and a copy of the whole record sits inside last month's export. The candidate was told they had been removed, and they had not been.

Erasure here is defined as the profile, the custom fields, the notes, the messages, the original uploaded file, the extracted text and the search representation derived from it, removed together. The workflow reports what it removed and from where, and it keeps a fulfilment record, which is the fact of the request and the date it was completed, rather than the data the request was about.

It is worth naming what erasure cannot reach. Anything already exported to a spreadsheet, forwarded to a client or copied into another system is outside the tenant and outside the workflow. That is an argument for exporting less, and the product will show you which exports contained the record so you know what to go and chase.

Some records are retained because a placement created an obligation

Not everything can be erased on request, and pretending otherwise is worse than saying so plainly. A completed placement creates a financial record: an invoice raised, a fee earned, a contractor paid, tax reporting that has to be reconstructable for a statutory period. Deleting the candidate identity out of that chain breaks the accounting, and the obligation to keep the record generally outranks the erasure request.

The workflow handles this in the open. When an erasure request touches a candidate with a completed placement, it separates the personal data that can go from the financial record that has to stay, erases the first, retains the second under a named retention reason, and produces a candidate-facing summary of exactly what was kept and why.

The common alternative is a deletion that quietly leaves everything intact because deleting properly would have broken a report, and nobody tells the candidate. Naming the exception is the honest version. It is also the only version you can defend when somebody asks.

What you get

Basis on every record

A fixed lawful-basis list per candidate, with source, channel, wording and capture timestamp.

Consent history

Grants, refreshes and withdrawals appended as dated events instead of overwriting the last one.

Last-contact clock

Retention measured from a contact the candidate took part in, not from record creation.

Configurable windows

Different retention periods per record type and per market, set by you during onboarding.

Review queue

Expiring records surface for a decision rather than disappearing on a timer.

Recorded extensions

Holding a record past its window requires a justification, an owner and a date.

Bulk decisions

Work three hundred dormant records in one pass, with each decision written separately.

Subject access export

The full record as CSV for a person and JSON for a system, run from the record itself.

Third-party flags

Notes naming a referee or a client contact are flagged for redaction before release.

Deep erasure

Profile, notes, messages, original file, extracted text and search representation removed together.

Fulfilment record

What was erased, when and by whom, kept after the data itself has gone.

Named retention exceptions

Financial records tied to a completed placement kept under a stated reason, shown not hidden.

Export trace

Which past exports contained a record, so you know what to chase outside the tenant.

Portal self-service

Candidates can refresh their own details, which is more accurate than a two-year-old guess.

Questions recruiters ask

Does this make us GDPR compliant?

No product can do that for you. You are the controller of the candidate data you hold, and the outcome depends on your policies, your training and the decisions your recruiters make every day. What the product supports is the record-keeping the role requires: lawful basis per record, dated consent events, retention windows, subject access export and erasure. The obligations stay with you.

Is this in the product today?

No. Consent basis on the candidate record, configurable retention windows and the export and erasure workflows are in build for the Wave 1 release, which means they are being written now and are not shipping yet. We describe them in the future tense on purpose. If these controls decide your purchase, ask us for the current build state before you commit to anything.

What counts as meaningful contact for the retention clock?

Something the candidate took part in: a reply to an email or a message, an answered call, an application, a submittal, an interview, or an update they made themselves in the portal. Sending a bulk campaign does not reset the clock, and neither does an open or a delivery receipt, because otherwise retention would be set by how often you email people.

Can we set different retention periods for different desks?

Yes. Windows are configurable per record type and per market, so a UK contract desk, an EU in-house team and a US agency can sit on different clocks inside one tenant. Defaults are agreed during onboarding and remain your decision. We will explain what each field controls; we will not tell you what period your counsel should set.

Does erasure remove the original resume file?

That is how the workflow is being defined: the profile, the custom fields, the notes, the messages, the uploaded file, the extracted text and its search representation go together, and the run reports what it removed. What it cannot reach is anything already exported or forwarded outside the tenant, and the product will show you which exports contained the record.

What happens if the candidate was placed?

A completed placement usually creates financial records that have to be kept for a statutory period. In that case the workflow erases the personal data it can, retains the financial record under a named retention reason, and produces a summary of exactly what was kept and why. Quietly keeping everything because deletion would break the accounting is the failure we are avoiding.

Who is the controller, and who is the processor?

You are the controller for the candidate data in your tenant. Soor LLC processes it on your instructions under the data processing agreement, and the sub-processor register is published rather than supplied on request. That split is not a formality: it decides who answers a candidate, who sets a retention period and who carries the consequence of getting it wrong.

Are you SOC 2 certified?

No, and we will not say we are until a report has been issued. A readiness programme is under way with continuous control monitoring, and a Type I report is the first deliverable. We do not claim a Type II report until one exists, and we will publish the report date when it does.

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.