Retention settings
Set retention periods before you start collecting candidate data. Once a retention period expires, the scheduler’sretention-enforcement job marks the
affected records for deletion.
1
Open retention settings
Go to Settings → Legal → Retention.
2
Set periods for each purpose
Configure a retention period for each data category:
These are starting points. Your legal or HR team must confirm the correct
periods for your jurisdiction and sector.
3
Test with a sample record
After setting periods, find an old test candidate, manually set their record
to expired, and confirm the retention job removes it in the next scheduler
cycle (runs every minute).
Data-subject requests (DSARs)
Candidates have the right to request a copy of their data or request deletion. The candidate portal surfaces both controls to candidates directly. When a request comes in:1
Verify identity
Confirm the requester is the data subject. Do not process a deletion request
without identity verification: deleting the wrong record has no undo.
2
Check for legal holds
Check whether any legal hold, ongoing litigation, or regulatory obligation
prevents immediate deletion. If so, document the hold and communicate the
delay to the requester with a reason.
3
Export or delete
Export: From the candidate record, use Export data. Send the export
to the requester through a secure channel, not unencrypted email.Delete: From the candidate record, use Delete candidate. This
removes the record, applications, files, and personal data. It cannot be
undone. Confirm the candidate has no active legal hold before proceeding.
4
Record the outcome
Log the request, the action taken, the date, and the member who processed
it in your DSAR register. Harly’s audit log captures the deletion event, but
maintain your own register for regulatory response.
Consent records
Harly tracks consent with timestamps and withdrawal events. Consent records are available in Settings → Legal and through the API (activity:read scope).
The consent report export (GET /api/security/consent-report, JSON or CSV)
requires the dsar:manage permission and covers only candidates inside the
caller’s job scope.
Do not rely solely on Harly’s consent records. Maintain your own canonical
register if your regulatory context requires one.
AI features and data
Automatic candidate evaluation without AI
Workspaces without an AI provider can use the governedrules-v2 evaluator.
It only evaluates criteria explicitly configured in a published job rubric; it
does not infer requirements from arbitrary job-description text. Each criterion
stores its status (met, not_met, or unknown), evidence source, evidence
coverage, confidence, rubric version, and reproducibility hashes.
An unknown result is not a rejection. Low coverage, low confidence, or a
missing required criterion marks the evaluation for human review. Automated
workflow conditions cannot reject an applicant from this result.
When a candidate is deleted or anonymized, evaluations, criterion evidence,
embeddings, and queued evaluation jobs are removed with the candidate. Configure
retention and legal holds before enabling automatic processing.
When AI features are enabled, some candidate data is sent to your configured
provider. The AI features page
lists what each feature sends and what the candidate anonymization setting
changes. Before enabling:
1
Choose a provider with a DPA
Confirm your AI provider has a data processing agreement that covers your
jurisdiction and sector. Store a copy.
2
Document each feature
For each enabled AI feature, document: purpose, provider, model, what data
is sent, who reviews the output, and what the human override path is.
3
Notify candidates
If your jurisdiction or sector requires it, disclose AI use in your candidate
privacy notice before collecting applications.
4
Review the usage log
Open Settings → AI → Usage periodically to confirm only expected data
is being sent and no unexpected features are active.
AI output is advisory. Every hiring decision must have a documented human
reviewer. Never auto-advance, auto-reject, or send a message based on an AI
suggestion without human review.
Candidate avatars and Gravatar
Gravatar is off by default. When a candidate has no uploaded photo, Harly shows initials. A workspace owner or admin can turn on Settings → Gravatar profile pictures to show pictures from Gravatar instead. When it is on, Harly sends a SHA-256 hash of each candidate’s email address towww.gravatar.com. The image request is made by the viewer’s
browser, so Gravatar also receives that browser’s IP address. While the setting
is off, no email hash is sent to Gravatar and the page does not connect to
Gravatar. Turning it on applies only from that point. Workspaces that existed
before this setting was added start with it off. Upload a photo to replace
any avatar.
Search recents in the browser
The search palette (⌘K) remembers the last eight results you opened, so you can reopen them quickly. Each entry stores only what is needed to reopen it: the result type, its id, its display name, and the in-app link. It does not store contact details, headlines, or stage names. Recents are kept in the browser’s local storage, separately for each user and workspace on that browser.- An entry is dropped 30 days after you last opened it. The palette removes expired entries when it next opens.
- Entries are removed when you sign out from the account menu, for every user and workspace on that browser.
- Entries are also dropped when you no longer have access to that type of result, or when the record is no longer visible to you.
- Clearing site data in your browser removes them at any time.
- When the app starts, recents that belong to another user are removed, and so are recents saved by earlier versions of Harly. This covers a session that ended without signing out, such as an expired or revoked session.
Audit log
Every access, mutation, export, and deletion is captured with the acting member, timestamp, and affected resource. The audit log is available in Settings → Security → Audit log. Export the audit log before deleting records that may be needed for an active investigation or regulatory response. Exporting requires thedsar:manage
permission; see access control.