Privacy policy
Last updated
Offerleap fills job applications for you to review. To do that it holds some of the most personal documents you own: your resume, your work history and, only if you choose, your voluntary self-identification answers. This page explains what we keep, where, who can see it, and how to take it back.
The short version
- We use your information to fill job applications that you review and submit. We never submit an application for you.
- We don’t sell your data, and we don’t share it with employers except through the applications you choose to submit.
- Voluntary self-identification (EEO) answers are optional, encrypted, never used for matching, never logged and never sent to an AI model.
- You can export your data or permanently delete your account, resume included, from Settings.
- If you import your LinkedIn connections, they’re used only to show you who you know, and you can delete them with one click.
- We never access LinkedIn. People we show at companies come from public web listings and public GitHub profiles, and anyone can ask to be removed.
What we collect
Account
Your email address and name. If you sign in with Google, Google shares your name and email with us. Sign-in is handled by Supabase Auth.
Your resume
The file you upload (PDF or Word). We extract its text to pre-fill your profile and to ground drafted answers.
Profile and answers
Contact details, links, education, work history and skills, plus your answers to common application questions (for example work authorization, sponsorship, earliest start date, salary expectation) and reusable written answers you save.
Voluntary self-identification (optional)
Gender, Hispanic or Latino identity, race or ethnicity, veteran status and disability status. Every question defaults to “Decline to self-identify”. You never have to answer.
Job preferences and activity
Your job filters, jobs you hide or skip, and a record of each application the extension prepared, including whether the job board confirmed that you submitted it.
Billing
If you subscribe, Stripe processes the payment. We store your Stripe customer ID and your subscription status, plan and renewal date. We never see or store your card number.
AI usage records
For each AI request we record the type of request, the model, token counts, cost and whether it succeeded, so we can enforce daily limits and control costs. We cache AI results for your account so the same question isn’t sent twice.
How we store and protect it
- Resume files live in a private storage bucket. They’re never publicly reachable; the app and the extension fetch them only through signed links that expire after five minutes.
- Profile, answers and activity are stored in a Postgres database with row-level security, so a signed-in account can only read its own rows.
- Self-identification answers are encrypted on our server with AES-256-GCM, using a key that only the server holds, before they’re stored. The encrypted table is not readable from the browser at all. Answers are decrypted only when the extension fills the identical voluntary questions on an application you’re reviewing, and they’re never used to match or rank jobs, never written to logs, and never sent to an AI model.
- All traffic between your browser, the extension and our servers is encrypted in transit (HTTPS).
AI processing
We use large language models through OpenRouter, which forwards each request to the model provider that serves it. We use AI for two things:
- Reading your resume. When you upload a resume, its extracted text is sent to the model to build your profile. That text includes whatever is on your resume, such as your name and contact details.
- Drafting answers. For an open question the rules can’t answer, we send the question, the job title, company and description, your resume text, the parts of your profile that matter for the answer (education, work history, skills, links, city), and preferences you’ve saved. Your email address, phone number and street address are removed first.
Your self-identification answers are never included in any AI request; the drafting code has no access to them. Drafted answers are always marked for you to review before you submit. OpenRouter and the model providers process this text to return a response, under their own data policies.
The browser extension
The extension runs only on Greenhouse and Ashby application pages (jobs.ashbyhq.com, job-boards.greenhouse.io and boards.greenhouse.io) and talks to the Offerleap website. It asks for three permissions: storage (to keep you signed in and remember the current run), scripting (to load the filler into an application tab) and alarms (to resume after the browser pauses it). It can’t read your other tabs or your browsing history. On an application page it fills fields from your profile, attaches your resume, and watches for the job board’s own confirmation that you pressed Submit so it can mark the application as applied.
Your connections
If you choose to, you can import the connections file from your own LinkedIn data export. The file is read in your browser, and only the connections list is sent to us: first and last name, profile link, email address (when LinkedIn includes it), company, position and the date you connected. Nothing else in the export is read. Email addresses are encrypted before they’re stored, and we keep a one-way hash of the email only to look up a public Gravatar photo (the hash, never the email, is sent to Gravatar). Our promises:
- We never sell your data or share it with anyone.
- Used only to show you who you know at companies you're applying to. Nothing else.
- Never sent to AI models, never used for ads, never combined with other users' data.
- We never message anyone or touch your LinkedIn account. You stay in control of every message.
- Delete it anytime with one click in Settings.
Your connections are visible only to your account. They’re never added to the shared company lists described below, and deleting your account deletes them too.
People we show at companies (public sources)
To help job seekers find the right person to contact, Offerleap keeps a short list of people at each company with open roles, such as recruiters and people on the team that’s hiring. These lists hold public professional information only.
What we collect
Name, job title, company, a public profile link, and a public profile photo where one exists. We never collect contact details, and these lists are never built from anyone’s imported connections.
Where it comes from
- Public web search listings returned by our search provider, Tavily (and Exa, only if we enable it after receiving its permission). We read the listing’s title, snippet and link; we don’t open the linked page.
- Public GitHub organization members, from GitHub’s public API, only for organizations whose website matches the company’s.
- Photos come only from public GitHub avatars and Gravatar. We copy them into our own storage as a small image, so your browser never loads them from a third party.
- We never access LinkedIn: no LinkedIn pages, no LinkedIn accounts and no automated LinkedIn browsing, by our servers or by our browser extension.
How long we keep it
Each list is checked again about every 90 days (sooner for companies where people change jobs often). People we can no longer find at the company, or now find somewhere else, stop being shown.
Removal
Anyone can ask us to stop showing them, without an account: use the Remove me page with your profile link, or your name and company. We delete matching entries straight away and keep a short note of the request so you’re never added again. You can also email support@offerleap.app.
Cookies and analytics
- Session cookies. We use cookies set by Supabase Auth to keep you signed in. They’re required for the app to work.
- Product analytics (PostHog), only when enabled. If analytics is switched on, we record page views and a few product events (for example “signup started” or “onboarding completed”) linked to your account ID. Automatic click capture and session recording are off, and form contents, resume text, answers and self-identification data are never sent. PostHog stores an identifier in a cookie and local storage.
- Error tracking (Sentry), only when enabled. If error tracking is switched on, crash reports are sent to Sentry with request bodies, cookies, headers and query strings removed. At most your internal account ID is attached, never your name or email.
- We don’t use advertising cookies or sell data to advertisers.
Service providers
We rely on a small number of processors, each only for the purpose listed:
- Supabase: database, authentication and file storage.
- OpenRouter and the model providers it routes to: resume reading and answer drafting (self-identification data excluded).
- Stripe: payments and subscription management.
- PostHog: product analytics, when enabled.
- Sentry: error tracking, when enabled.
- Resend: account emails such as a welcome note, a heads-up when your free applications run out, and failed-payment notices.
- Vercel: hosting for the website and API.
- Tavily: public web search used to find people at companies with open roles (no data about you is sent).
- GitHub: public organization members and avatars (no data about you is sent).
Your choices and rights
- Edit your profile, answers, self-identification and filters from Settings at any time.
- Export a copy of your data as JSON from Settings.
- Delete your account from Settings. This removes your resume file, profile, answers, self-identification data, filters, application history and cached AI results, and immediately cancels any active subscription. AI usage records (token counts and costs) are kept without any link to you. Stripe keeps the billing records it is legally required to keep.
- Depending on where you live, you may have further rights (for example under GDPR or CCPA) to access, correct, port or erase your data, or to object to processing. Email support@offerleap.app and we’ll respond within 30 days.
Retention
We keep your data while your account is open. When you delete your account it’s removed from our live database and storage straight away. Copies can remain in our database provider’s encrypted backups until those backups expire on the provider’s schedule.
Children
Offerleap is not intended for anyone under 16, and we don’t knowingly collect data from them.
Changes and contact
If we change this policy in a way that matters, we’ll tell you by email or in the app before the change takes effect. Questions, requests or concerns: support@offerleap.app. See also our terms of service.