Last updated: June 2, 2026
HRHandle is operated by Aleksandre Merabishvili, Individual Entrepreneur, registration number 01019062001, Tbilisi, Georgia ("we", "us", "our").
We are the data controller for the personal data of our customers (account holders and their team members). For candidate data that you enter into the Service, you are the data controller and we act as a data processor on your behalf.
Contact: support@hrhandle.com
You enter candidate data into HRHandle as part of your recruitment process, or candidates submit it themselves through your public application page. This may include:
Some of this data may be imported by your recruiters directly from LinkedIn, or bulk-imported by an organisation owner or admin via the CSV import feature at /candidates/import. You are responsible for ensuring you have a lawful basis to collect and store this data under applicable law, regardless of the entry path.
When a candidate applies for a role, we create a private, token-gated status page at /status/<token> on this Service that shows only that candidate's own application status. The token is an opaque 32-character random string and is the only credential to the page — there is no login. The page does not show recruiter notes, evaluation scores, internal pipeline stage names, or any other recruiter-internal data; it shows the role title, employer (the recruiting organisation's name), the date the candidate applied, the date of the last status change, and a simplified status bucket (Applied / In review / Interview / Decision / Closed). Candidates receive the link in the application-confirmation email; recruiters can also re-share it from inside HRHandle. The link can be revoked by the recruiter at any time by removing the application; the token is also deleted by our 30-day purge ([G-003](https://github.com/Merabishvili/HRHandle/blob/main/docs/issues-found.md)) if the application is soft-deleted.
In addition, recruiters can opt their organisation in to two automatic status-change emails: one when an application moves to the "Under review" stage and one when it moves to the "Interview" stage. Each email contains the role title, employer, and the candidate's status page link. These emails are off by default and only fire when an admin saves a template and toggles them on in HRHandle's settings; no other status transitions produce automatic emails (offers, hires, rejections, and withdrawals are handled by the recruiter directly).
The status page also lets the candidate withdraw their application directly. Clicking Withdraw application opens a confirmation prompt with an optional free-text reason that only the recruiter sees. On confirm, the application's status is set to "withdrawn", any active offer attached to it is automatically withdrawn so a stale accept button never reappears, and the recruiter is notified. The page does not allow a candidate to undo the withdrawal — the candidate can contact the recruiter directly to be re-added.
When the recruiter sends an offer, we create a separate token-gated offer page at /offer/<token> on this Service. Like the status page, the token is the only credential — there is no login. The page shows the role title, employer name, the structured terms the recruiter entered (compensation, currency, period, start date, respond-by date — any of which may be blank), the recruiter's plain-text offer details, and an optional personal note. The candidate can accept or decline directly from the page; declining accepts an optional free- text reason which only the recruiter sees. The offer page does not show any other candidate's data and does not show recruiter-internal notes, evaluation scores, or audit trail.
When a recruiter chooses to share a candidate's evaluation scorecard with someone outside HRHandle (typically a hiring manager or executive who does not have an account), we generate a separate token-gated page at /scorecard/<token> on this Service. The page shows only the candidate's full name, the role title, the recruiting organisation's name, the evaluation answers and per-question scores entered by the recruiter, and the name + date of the recruiter who first shared it. It does not show the candidate's email, phone, LinkedIn, application status, recruiter notes, AI-generated content, offer terms, or any other recruiter-internal data. The recruiter can revoke the link at any time, at which point the URL stops working immediately.
We do not use your data or your candidates' data for advertising or marketing purposes, and we do not sell data to third parties.
We use the following sub-processors to provide the Service:
| Provider | Purpose | Location |
|---|---|---|
| Supabase (AWS us-east-1) | Database and file storage | USA |
| Resend | Transactional email delivery | USA |
| Sentry | Error monitoring | USA |
| Vercel | Hosting and deployment | USA / Global CDN |
| Google (optional) | Authentication (OAuth) and Google Calendar integration | USA / Global |
| Google Generative AI (Gemini API) | Automated extraction of structured fields from uploaded CVs (name, email, work experience, education) — see "AI features" below | USA / Global |
| LinkedIn (optional) | Vacancy posting via LinkedIn API | USA / Global |
| Zoom (optional) | Video meeting creation via Zoom API | USA / Global |
| Microsoft (optional) | Teams meeting and Outlook Calendar integration via Microsoft Graph API | USA / Global |
All sub-processors are contractually obligated to process data only as instructed and to maintain appropriate security measures.
HRHandle includes a small number of AI-assisted features that send candidate or vacancy data to Google's Gemini API to help the recruiter — never to replace their judgement. Each feature is opt-in per request: nothing is generated automatically, and the recruiter must explicitly click a button to invoke it.
Current AI-assisted features:
The AI output is informational only. No AI feature in HRHandle makes any automated decision about a candidate — no automatic ranking, no automatic rejection, no automatic advancement. Every hiring decision (advancing, rejecting, hiring) is taken by a human recruiter on your team. Article 22 GDPR (automated decision-making with legal or similarly significant effect) therefore does not apply.
We record an internal log entry each time an AI feature is invoked (recruiter, candidate, feature name, timestamp) for traceability under the EU AI Act's high-risk-AI logging requirements. We do not log the AI output itself.
We use Google's paid Gemini API for all of these features. Under Google's paid-services terms, Google is not permitted to use customer prompt content or responses to train or improve their models. Google retains prompts and responses briefly only for abuse detection.
If an AI feature is unavailable or fails for any reason, the workflow proceeds normally and the recruiter completes the task manually.
Your data is stored on servers located in the United States (AWS us-east-1, North Virginia). If you are located in the European Economic Area or Georgia, this constitutes a transfer of personal data outside your jurisdiction. We rely on standard contractual clauses and the data processing agreements of our sub-processors to ensure an adequate level of protection.
We retain your account, organization, and candidate data for as long as your account is active.
After your account is terminated (by you or by us), you have 30 days to request an export of your data. During this 30-day window the data remains recoverable. After the 30-day window, your account, organization, and all associated candidate data, documents, and application records are permanently deleted, except where we are required by law to retain specific records longer (for example, invoicing records under Georgian tax law).
Within the active life of your account, when you delete a candidate or document from within the Service, the record is marked for deletion immediately and permanently removed within 30 days. Backup snapshots taken before deletion are kept under Supabase's backup-retention policy and are not used for selective restoration of deleted records.
Depending on your jurisdiction, you may have the right to:
To exercise any of these rights, contact us at support@hrhandle.com. We will respond within 30 days.
We use cookies and browser storage in two categories:
Cookies and storage required for authentication, session management, CSRF protection, and remembering your sign-in preference. These are set by Supabase Auth and our own application code, and cannot be disabled without breaking the Service. We do not use advertising or cross-site tracking cookies.
In production we use the following analytics tools to understand how the Service is used and to improve it:
eu.i.posthog.com) — captures page views, clicks, and product events. Person profiles are created only for signed-in users (configured as identified_only). Anonymous visitors to the landing page and public application pages do not receive a PostHog person profile.We do not run PostHog or Vercel Analytics on the candidate apply pages in a way that captures candidate-entered content, and we do not send candidate personal data (name, email, CV content) to either tool.
Sentry collects technical error details (stack traces, browser/OS, request metadata) when something fails in the Service. Before any error is sent to Sentry, we run a server-side scrubbing step that removes known personal-data fields (names, emails, phone numbers, CV content, dates of birth, and similar) from the payload, so error reports do not contain candidate personal data.
We implement appropriate technical and organizational measures to protect your data, including encrypted data transmission (TLS), row-level security on all database tables, role-based access controls, and signed URLs for document access.
The Service is not directed at persons under 18. We do not knowingly collect personal data from anyone under 18.
We may update this Privacy Policy from time to time. We will notify you of material changes by email or via a notice within the Service. The "last updated" date at the top of this page reflects the most recent revision.
Data controller: Aleksandre Merabishvili, Individual Entrepreneur
Identification number: 01019062001
29 Tskneti Highway, Tbilisi, Georgia
support@hrhandle.com
Phone: +995 599 89 29 17