Privacy Policy · version 2026-10-07 · questions: admin@legabl.com
Privacy Policy
Effective date: 7 October 2026 · Version: 2 · Previous versions: 1 (5 October 2026)
Read this part first
Legabl helps small recruiting teams find candidates who chose to be found by employers, and run the hiring from there. That means this policy is about two quite different groups of people:
- Our customers — the companies that use Legabl, and the people on their teams who log in.
- Candidates — people who published a professional profile on resume4.ai and switched on its Employer search setting. We do not collect candidates from anywhere else. We do not scrape, buy lists, or read anyone's résumé from another site.
We keep as little about candidates as the work allows. Search results are not stored. Only when a customer adds someone to one of their job's candidate pools do we keep a copy of that person's professional profile — for that one job, and only while the job is open. When the candidate withdraws from employer search, we delete it.
Legabl and resume4.ai are run by the same person. They are separate products with separate accounts, but we would rather tell you that plainly than have you find it out. Section 1 explains.
Some features use Google's Gemini on its free tier, which means Google may use what we send it to improve its products. Section 6 explains exactly what is sent, and what is not — a candidate's name never is.
The rest of this policy is the detail.
1\. Who we are
Legabl is not yet operated by a company. It is run by XU ZHIHAO, an individual based in Singapore, who is the data controller for the personal data described here.
The same individual operates resume4.ai ("ResumeForAI"), where candidates publish their profiles and decide whether employers may find them. The two services keep separate accounts and separate databases. Legabl reaches candidate data only through ResumeForAI's employer interface, with a key issued to each customer company, and sees only what a candidate has published and opened to employer search.
For privacy questions, requests or complaints: admin@legabl.com. Postal enquiries: 118 Upper Bukit Timah Road \#17-08, Singapore.
If and when Legabl is incorporated, we will update this policy, tell our customers before the change takes effect, and name the company here.
2\. Who this policy covers
- Visitors — anyone who browses legabl.com or tries the public demo.
- Enquirers — people who send us the Talk to us form.
- Customer users — people who log in to a customer company's Legabl account.
- Candidates — people whose ResumeForAI profile is open to employer search and who appear in a customer's search, or in one of a customer's candidate pools.
3\. Visitors and the public demo
We do not run analytics. There is no tracking script, no advertising pixel, and no record of who viewed which page.
The demo runs on invented people. Every candidate in it is made up. A job description you paste into the demo is used to answer that one request and then discarded: it is not stored and not written to our logs.
Fonts are loaded from Google. Our pages use web fonts served by Google Fonts, so your browser asks Google for them and Google sees your IP address. We intend to serve the fonts ourselves; until then, that request happens.
Server logs. Our hosting provider keeps short-lived request logs (address, time, page). Where a page address would identify a candidate, we remove that part before it is logged.
4\. Enquirers
When you send the Talk to us form we keep what you typed: your name, work email, company, website, team size, and what you are hiring for. We use it to reply, to judge whether Legabl suits you, and to open an account if you go ahead.
The public site can add an enquiry but cannot read one back; only our internal console, which is not on the public internet, can. We do not currently delete enquiries on a schedule. Ask us and we will delete yours.
5\. Customer users
What we keep about you: your name, work email, your role in your company's account (admin or member), when you joined, and a one-way hash of your password (we never store the password itself). We keep which of your team's searches, stage changes, notes and messages you made, so your colleagues can see who did what.
Signing in. We set one essential cookie to keep you signed in, for up to 14 days. Failed sign-in attempts are recorded as one-way hashes of the email and network address, to stop password guessing, and deleted after a day.
What your company keeps in Legabl — job descriptions, search filters, the company profile, candidate pools, stages, notes, interview notes and the record of messages sent — belongs to your company. It is visible to everyone on your company's account and to no other company. Our internal console cannot read it either: it can see that your company exists, its plan and its people, but not its jobs, candidates or notes.
Messages to candidates. When you contact a candidate, the message goes through ResumeForAI to the candidate's inbox with your name, your work email (as the reply-to address) and your company's name. ResumeForAI keeps that message under its own privacy policy. Legabl keeps only a record that a message was sent, by whom, when and for which job — that is what your contact allowance counts — not the message itself.
Password resets. Legabl sends no email. If you forget your password, we create a one-time link in our console and give it to you; it works once and expires after 24 hours.
6\. AI processing — please read this
Some features use Google's Gemini API, currently on its unpaid (free) tier. Under Google's terms for that tier, Google may use what we send to provide and improve its products and machine-learning technologies, including training models; human reviewers at Google may read it; and Google may process it in any country where it operates. Google's terms: https://ai.google.dev/gemini-api/terms.
What we send, feature by feature:
| Feature | Sent to Google | Never sent |
|---|---|---|
| JD assistant | What you typed about the role, and your company profile | Anything about candidates |
| Message draft | The job's title and description, parts of your company profile, your name and company, and the candidate's current job title plus the lines of their own profile that matched the job | The candidate's name, email or any contact detail |
| Interview questions | The job's title and description, its requirements and the matching lines from the candidate's profile, and their current job title | The candidate's name or contact details |
| Interview invitation | The job title, your name and company, and the interview's format, length, place and interviewers | The candidate's name, and the times you proposed (we insert those ourselves) |
| Questions about your hiring policies | The hiring policies in your company profile, and your question | Anything about candidates |
Nothing is sent until you press the button. Drafts are shown to you to edit; none is ever sent to a candidate automatically.
If you are not comfortable with these terms, do not use the AI features. Everything else in Legabl works without them. When we move to a paid tier, under which Google does not use the content, we will update this section.
Separately, ResumeForAI uses AI on its side: when your company searches, ResumeForAI's model compares the job description with candidates' published profiles, requirement by requirement, without their names. That is described in ResumeForAI's privacy policy, section 9.
7\. Candidates
This section is for you if your resume4.ai profile is open to employer search.
How you get here. You switched on Employer search in your ResumeForAI account. Legabl's customers can then find your published profile when they search for a role. They see what your public page already shows, in a structured form — never your email address, phone number, date of birth, photograph or personal summary, which ResumeForAI does not pass on.
What we do not keep: search results. When a customer searches, the list and the profiles in it come from ResumeForAI and are shown, not stored. (To avoid fetching the same profile twice on one page, a copy is held in memory for up to ten minutes and then discarded.)
What we do keep: candidate pools. When a customer adds you to the candidate pool of one of their jobs, Legabl saves your profile as it was then, and ResumeForAI's requirement-by-requirement comparison for that job, together with the customer's own working notes about you for that job: the stage (for example contacted or interviewing), notes, and interview notes.
- For that one job only. A copy kept for one job is never used for another job, not even at the same company. If the same company adds you to a second job, that is a separate record.
- Updated, not frozen. When the customer opens your record and ResumeForAI still lists you, we replace the saved copy with your current profile.
- Kept while the job is open. When the customer closes the job, the pool — your profile, the comparison, the stages and all notes — is deleted 180 days later, unless they reopen the job first.
When you withdraw. If you switch Employer search off, or delete your ResumeForAI account, we delete your profile, the comparison and every note about you from every customer's pools. A placeholder saying "withdrawn candidate", with no name or detail, remains so the customer's numbers still add up. We check a customer's pools whenever someone from that customer opens Legabl (at most once a day), and we always check you are still opted in immediately before any message is sent to you. A customer cannot contact you after you have withdrawn.
What we cannot undo. If you replied to a customer and wrote to them from your own email, that conversation is in their mailbox and outside Legabl.
Your rights here. You can ask us what Legabl holds about you, and ask us to delete it, at admin@legabl.com — or simply withdraw from employer search on ResumeForAI, which removes you from Legabl as described above.
8\. What we use data for, and on what basis
Under Singapore's PDPA, and the GDPR where it applies:
- Running customers' accounts and the features they use — contract with the customer.
- Showing candidates to customers and keeping candidate pools — the candidate's consent, given by switching on Employer search, which they can withdraw at any time.
- Security, abuse prevention and debugging — our legitimate interest in keeping the service safe.
- Replying to enquiries — the enquirer's request.
We do not sell personal data. We do not sell or license candidate profiles or customer data as a dataset. We do not train any model of our own on anyone's data. We send no marketing email.
9\. Who else processes data
- Fly.io — runs the application. Singapore region.
- Neon — runs the database, on Amazon Web Services in the AWS Singapore region (
ap-southeast-1). - Cloudflare — DNS for legabl.com, and forwarding of mail sent to admin@legabl.com.
- Google — the Gemini API for AI features (section 6), and Google Fonts (section 3). United States and other countries where Google operates.
- ResumeForAI — the source of candidate profiles, and the relay for messages to candidates. It also keeps the job descriptions your company searches with, as section 10 describes. It is operated by the same individual as Legabl and handles data under its own privacy policy.
10\. Job descriptions held by ResumeForAI
When your company searches, the job description goes to ResumeForAI, which keeps it to provide the search service, including reusing earlier results when you search for the same role again and letting you revisit past searches, and, in aggregated form with your company's identity removed, to evaluate and improve the quality of candidate scoring. ResumeForAI removes email addresses and phone numbers from job descriptions and treats them as your confidential information: they are not used to train any model, not shared with any third party, and not published. They are deleted within 30 days after your account is closed — and when an account is deleted from Legabl's Settings page, Legabl asks ResumeForAI to delete them at once.
11\. How long we keep things
| What | How long |
|---|---|
| Search results | Not stored (up to 10 minutes in memory) |
| A candidate's saved profile, comparison, stage and notes in a pool | While the job is open; deleted 180 days after it closes; deleted at once when the candidate withdraws |
| Searches (the job description as searched, filters, ResumeForAI's search reference) | 180 days |
| Jobs (their intake, job description and how they ended), the company profile and its hiring policies | Until your company deletes them or its account |
| Record of messages sent (who, when, which job) | For the life of the account (it is what the contact allowance counts) |
| Customer users | Until removed by their admin, or the account is deleted |
| Sessions | Up to 14 days |
| Failed sign-in records | 1 day |
| Password reset links | Until used, or 24 hours |
| Enquiries | Until you ask us to delete them |
When a customer deletes its account in Settings, we ask ResumeForAI to delete its job descriptions and search results, switch off its access key, and then delete everything the account holds — users, jobs, pools, notes — in the same step. Our database provider keeps a rolling recovery history of a few hours; we read it only to recover from a failure, never to restore something deleted on request.
12\. Where data is held
Account data, jobs and candidate pools are stored in Singapore (Fly.io and Neon on AWS ap-southeast-1). Gemini processing happens wherever Google operates (section 6); Cloudflare works from a global network. Where personal data leaves Singapore, we take steps to ensure a comparable standard of protection as the PDPA requires.
13\. Your rights
You can ask for a copy of your data, correct it, have it deleted, withdraw consent, or object to how we use it. Candidates can also withdraw from employer search on ResumeForAI at any time.
In Singapore you have rights of access and correction under the PDPA, may withdraw consent, and may complain to the Personal Data Protection Commission. In the EEA or UK you additionally have the rights to restrict processing, to data portability, and to complain to your local supervisory authority.
Write to admin@legabl.com. We aim to reply within 30 days and do not charge for reasonable requests.
14\. Security
Traffic is encrypted in transit. Each customer's data is separated from every other customer's by the database itself, not only by our code, and every change runs through an automated test suite — including tests that one company cannot see another's data — before it can be deployed. Each company's access key to ResumeForAI is stored encrypted and never sent to a browser. Passwords are stored only as strong one-way hashes. The internal console is not reachable from the public internet.
We are a small operation and hold no formal security certification. No system is completely secure. If a breach affects your data, we will notify you and the relevant authority as the law requires.
15\. Children
Legabl is a service for businesses and is not for anyone under 18.
16\. Changes
We will post any new version here with a new effective date and keep previous versions available. For changes that expand how we use personal data, we will tell our customers at least 30 days before they take effect.
17\. Contact
admin@legabl.com
XU ZHIHAO, operating Legabl as an individual 118 Upper Bukit Timah Road \#17-08, Singapore
We have not appointed a Data Protection Officer; requests are handled by the operator personally.