What we hold, where it goes, and how long we keep it
Written from the code that enforces it. Every retention period on this page is read out of the same constant the deletion job runs with, so this page is wrong only if the software is.
Who is responsible for your data
This service is operated by realrole.app.
- Controller
- realrole.app
- Where
- Sri Lanka
- How to reach him
- contact@realrole.app — see the contact page. This is also the address to use for anything in the “your rights” section below.
What we collect, and why
Everything below is collected because a specific part of the service needs it. Nothing is collected to profile you, to sell, or to keep in case it is useful later.
- Your name, email address and phone number, given at registration. The email address identifies your account and carries verification, password-reset and alert messages. The phone number is there so alerts can reach you on WhatsApp.
- The text of your CV. You upload a file; the text is extracted from it and the file itself is discarded within the same request. There is no stored copy of your document anywhere — only the text. The text is what every role is scored against.
- Your job preferences — target roles, seniority, tech stack, salary floor, location, work authorisation and which categories you want matched. These are the filters your matches are produced by.
- A candidate profile, written by a model from your CV text, which is the thing actually compared against each posting.
- Your match history — which roles were scored, the score, the reason and whether an alert was sent.
There is no age field at registration and no age check anywhere in the service. This service is for adults. You must be at least 18 to create an account. There is no age check at registration — that is a limitation, not a permission — and if it turns out an account belongs to someone under 18, tell us at the contact address and the account and its data will be deleted.
The basis we process it on
Your consent, given explicitly at registration. The box you tick on the registration form reads: “I consent to my CV and personal information being processed to find and deliver job matches.” The moment you tick it is recorded against your account.
You can withdraw that consent at any time by asking for your data to be removed. Withdrawing it means the service can no longer match you, because your CV text is the only thing there is to match against.
How long each kind of data is kept
These are the real windows. Each one is the number a scheduled deletion job executes with, printed here from the same constant that job reads.
| What | Kept for | Detail |
|---|---|---|
| Your account, CV text, preferences and profile | For as long as your account exists | Your name, email, phone number, the TEXT extracted from the CV you uploaded, your job preferences, the candidate profile generated from that text, and any facts you have added about yourself. These are the account itself, so they are kept until the account goes. The uploaded FILE is not one of them — it is read once, the text is taken out of it, and the file itself is deleted before the upload request finishes. There is no copy of it on disk or in object storage. |
| Your match history | For as long as your account exists | Which roles were scored for you, the score, the reason, and whether an alert was sent. This is what your dashboard shows you, so it lasts as long as the dashboard does. |
| Tailored documents and the job text they were written against | 72 hours | A generated CV or cover letter, the job description you pasted, and the model's own output are deleted from the record after this. What is kept afterwards is the bookkeeping your budget counter needs: that a generation happened, when, for which role, and whether it worked. While a document is being produced, a copy of it also exists on the server that is producing it; that server keeps no storage between restarts. |
| Recurring-gap terms | 180 days | The skills postings kept asking for, and whether your record already showed them. This is the history behind the “recurring gaps” panel on your profile. The postings themselves are never kept. |
| Weekly summary records | 365 days | One record per week per account: how many roles were screened, how many cleared your bar, and whether a summary email was sent, suppressed or stopped. It is also what stops the summary email from continuing indefinitely when there is nothing to report, so it is kept long enough for that to keep working. |
| Password-reset links, sign-in codes and email-verification links | 30 days after the link or code expires | A reset link, a two-factor challenge or a verification link stops working when it expires; the record of it is removed this long afterwards. An email-verification link on an account that was never verified is cleared on the same clock — the account itself is untouched and can ask for a new link. |
What happens when your data is deleted
When your data is deleted, nothing about you is kept. There is no anonymised copy, no summary row, no counter and no residue of any kind.
What the service still has afterwards is not about you and never was. It is the job market, collected from public job boards:
- The job listings themselves. Title, company, location, category, seniority and whether a role is genuinely work-from-anywhere. Collected from public job boards on a schedule that has nothing to do with any account. It was never derived from anybody's personal data and contains none.
- Per-run operational records. One record per scheduled run: when it ran, how many postings it screened and how many alerts went out in total. No user identifier.
- The model call log. Which model was called, when, whether it worked and how many tokens it used. This table carries no user identifier of any kind — there is no column that could link a row to an account.
Your own stated salary floor is your data, not market data, and it goes with everything else. The job listings carry no salary figures at all, so nothing about what you said you wanted, or about who you are, is left behind in any form.
Everything we hold that is keyed to you
The complete list, so that “all of your data” is a list and not a gesture.
| Record | What it holds |
|---|---|
| users | The account itself: name, email, phone, password hash, consent timestamp, plan, and 2FA enrolment. |
| user_preferences | Target roles, seniority, tech stack, salary floor, location, work authorisation and chosen job categories. |
| user_cvs | The uploaded CV's filename, the text extracted from it, and the structured form of that text. |
| user_profiles | The candidate profile generated from the CV, which is what roles are scored against. |
| user_cv_additions | Facts you have added about yourself that the uploaded CV did not carry. |
| user_job_matches | One row per role scored for you: score, reason, eligibility, and whether it was delivered. |
| on_demand_generations | One row per tailored document or CV review: when, for which role, how long it took and whether it worked. |
| cv_gap_terms | One row per (posting, skill) behind the recurring-gaps panel. |
| weekly_summaries | One row per week: what was screened, what cleared the bar, and what the summary email did. |
| password_reset_tokens | Outstanding and expired password-reset links. |
| two_factor_challenges | Outstanding and expired sign-in challenges. |
Who else your data reaches
This service is built on other companies' infrastructure, and some of your data necessarily passes through them. This is the complete list. Rows marked unconfirmed are the ones where the code supports more than one possibility and only the running deployment knows which is configured.
| Who | What of yours reaches them |
|---|---|
| Hosting and compute | Everything. The site and the database holding your account, CV text, preferences and matches run on a third-party cloud platform. A second cloud platform runs the nightly job that scores jobs against your profile, so the text derived from your CV is processed there too. |
| AI processing | **The text of your CV, your generated profile, and the job postings scored for you.** This is where your CV is actually read by a model. |
| Email processing | Your email address, your name, and the contents of any verification, password-reset, match or weekly-summary message. |
| WhatsApp messaging | Your phone number and the contents of any match alert. |
| Contact mail | **The contents of any message you send to the contact address**, including anything personal you put in it — which, for a request about your own data, is unavoidable. |
| Public job-corpus storage | **None of your data.** Listed for completeness: the job postings this service collects from public job boards are stored with a third-party code host, and contain no information about any account. |
| Naming them on request | Nothing. This row is not a recipient — it is your right. |
Your CV text is read by a model, and that is the answer to the question most people actually want answered. The pricing page says your CV is never sold and never sent to an employer by us, which is true. This page says where it does go: to whichever model provider named above is configured, in order to write your candidate profile, to score a posting against you, and to tailor a document when you ask for one. We do not use it to train any model, and we send it nowhere else.
Messages already delivered to you — an email in your inbox, a WhatsApp message on your phone — are outside anyone's reach to withdraw, including ours. Deleting your data here does not unsend them.
What this site does in your browser
- This site loads nothing from anyone else. No fonts, scripts, images or styles are fetched from another company's servers; everything is served from this domain.
- There is no analytics, no tracking pixel, no advertising network and no third-party embed on any page.
- There is no JavaScript on this site at all.
- There is one cookie. It holds your signed-in session and a form-security token, it is marked HttpOnly, Secure and SameSite, and it exists solely so that being signed in works. There is nothing to consent to and therefore no cookie banner.
Your rights, described as they actually work today
You have the rights the law gives you — to know what is held, to get a copy, to correct it, to have it deleted, and to withdraw consent. How each one is exercised right now is deliberately unglamorous:
- To see or correct what is held: your CV text, preferences and profile are all editable from your own account pages. Everything else is on this page.
- To get a copy of your data: sign in and use Account → Download my data. You get one file containing every record held about you, and it declares in the file itself what is left out and why — your password hash, your two-factor secrets and any outstanding reset links or sign-in codes, because a copy of those in a downloadable file would be a way into your account.
- To have your data deleted: sign in and use Account → Delete my account. It is immediate and it cannot be undone: there is no recovery period and no deleted-account archive. You will be asked for your password to confirm. You can still write to contact@realrole.app instead if you would rather it were done for you.
- Deletion means deletion. Your account, CV text, profile, preferences, match history and every record listed above are removed. Deactivating an account is a different and lesser thing — it stops the matching and leaves the data in place — and it is not described here as erasure, because it is not.
- To complain: you can raise it with the controller directly, and with your local data-protection authority.
Which law this is under
The controller is based in Sri Lanka, and Sri Lanka's Personal Data Protection Act No. 9 of 2022 is the local regime.
That does not remove any rights you have where you live. This service is open to registration worldwide and the entire product is about roles you can take from anywhere, so users in the EU and the UK are the intended audience rather than an edge case. Naming a governing law is not an opt-out from the protections that apply to you.
These terms and this policy are governed by the law of Sri Lanka, where the controller is based. That choice does not take away rights you have under the law of the country you are in. If you are in the EU or the UK, your data-protection rights apply regardless of what this page says, and the rights described here are intended to match them rather than to narrow them.
contact@realrole.app is the designated point of contact for any request under Sri Lanka's Personal Data Protection Act No. 9 of 2022, and for any equivalent request made under another country's law.
If this page changes
The date at the top is when it was last changed, and this page is the record. We do not promise to email you about a change — email delivery on this service is not yet reliable, and promising a notification we cannot send would be exactly the kind of claim the rest of this page is written to avoid.