Privacy policy

Plain-language version. The legal version is identical in meaning, just longer.

Last updated: 2026-05-06

Plain-language version

We hold your account, your CV materials, your applications, your drafts, your diary, your calendar (if connected), and — if you opt in — a one-shot import of your LinkedIn profile data via the LinkedIn Member Data Portability API (3rd Party). That’s it.

We never sell, share, train, advertise, or expose your data. The full negative list is on the Security page.

You can export everything in a zip, anytime, from settings. You can delete everything, anytime, from settings. Deletion is irreversible and cascades through every backing system within 7 days.

We log every access — by you, by us, by any sub-processor. You can see the log in your settings.

We use a small, fully-disclosed list of sub-processors, listed on the Sub-processors page with country and international-transfer basis for each.

If we ever change anything material in this policy, you get an email and a 30-day notice before it takes effect. You can export and delete during the notice window with no friction.

What “personal data” means here

Per GDPR Article 4(1), personal data is any information relating to an identified or identifiable natural person. For Omoikane, that includes your email, your name, your CV content, your application history, your diary entries, your calendar events, and (if you connect LinkedIn) the subset of your LinkedIn profile data described in the LinkedIn Member Data Portability section below.

Your rights

Under GDPR you have the right to access, correct, delete, port, restrict, and object. The operational realisation of each of these is in your account settings. If anything is broken or unclear, write to privacy@omoikane.coach and we will respond within 30 days.

You also have the right to file a complaint with your national data protection authority. For the Netherlands, that’s the Autoriteit Persoonsgegevens (autoriteitpersoonsgegevens.nl).

Data retention

CategoryRetention
Active account dataAs long as you keep the account
LinkedIn-imported dataOnly for as long as you have authorised the LinkedIn connection AND your account remains active. Deleted within 7 days of either: account closure on Omoikane, account closure on LinkedIn, or revocation of LinkedIn consent (whichever happens first).
Audit log90 days hot in DB, 12 months in encrypted off-site backup. The audit log records metadata of access (who accessed what kind of record, when, from where) — it does not contain LinkedIn-sourced field values or other PII payloads.
Closed account7 days for full deletion (the system runs the cascade async)
Billing records7 years per Dutch fiscal law (AWR Art. 52); we rely on Stripe as the system of record. The retention obligation is ours; Stripe is the storage mechanism.

Security

Things we explicitly do NOT do

Children

Omoikane is intended for users 16 and older (matching the LinkedIn age floor). We do not knowingly collect personal data from anyone under 16. If you are a parent or guardian and believe your child has provided us with personal data, please contact us and we will delete it.

LinkedIn Member Data Portability

Omoikane integrates with the LinkedIn Member Data Portability API (3rd Party) under the EU Digital Markets Act (Regulation (EU) 2022/1925). The (3rd Party) variant means Omoikane offers this integration to its own customers — not just to one developer for personal use. The integration is optional and can be revoked at any time.

What we request

When you choose to connect LinkedIn, you authorise Omoikane to request a one-shot snapshot of the following Member Data Portability domains from your LinkedIn profile:

We do not request: connections list, messages, search history, ad-engagement, payment data, or any field outside the explicit list above.

Why we request it

A career coach needs to know your work history, education, skills, and writing voice to draft a CV / letter / email tailored to a specific posting. Importing from LinkedIn is faster and less error-prone than asking you to re-type or PDF-upload everything. The data is used only to ground the AI drafts (every claim cited to its source) — never to message anyone, never to inform recruiters, never to train models.

How LinkedIn-imported data flows to our LLM provider

Drafting requires sending the relevant subset of your imported posts and CV-equivalent fields to Anthropic Claude (our LLM provider — see Sub-processors) as part of the prompt. The subset is selected per-draft by our server-side retrieval layer (we send only what the model needs to produce that one draft, not your whole imported corpus). Anthropic’s API processes the prompt and returns the draft; Anthropic does not retain prompts beyond the request, does not train any model on the data, and is contractually bound by EU Standard Contractual Clauses for any US-region traffic. The transferred subset is the same data flow whether you uploaded a CV PDF or imported from LinkedIn — there is no LinkedIn-specific deviation in how we route it.

How we store it

LinkedIn-imported data is stored in our primary application database (a YugabyteDB cluster — Postgres-protocol distributed SQL, replicated 3x across our gigahost.no Norway hosts and a Leiden DMZ witness — see Sub-processors for hosting locations). At-rest encryption is enabled on all replicas. Transit between hosts is via IPsec. Vector embeddings of your data live in Qdrant on the same infrastructure. Per the Security page, TLS protects every leg of the data path.

How long we keep it

See Data retention above. The short version: only while your LinkedIn connection is authorised AND your Omoikane account is active.

LinkedIn’s OAuth implementation expires the Portability access token automatically 12 months after authorisation, meaning Omoikane must obtain fresh consent from you to continue the integration past one year. If you do not re-consent within 7 days of token expiry, our system treats it as a revocation and runs the deletion cascade. We do not silently extend, and we do not retain LinkedIn-imported data past expiry without your fresh consent.

Per LinkedIn DMA Portability API Terms §3.1, deletion begins immediately upon your request — by revoking the connection from your Omoikane settings, or by closing your Omoikane account: the data is removed from active production systems (database, vector store, AI-generated drafts that referenced the imported data) within minutes, and the cascade through replicas, encrypted backups, and audit-log archive markers completes within 7 days. No LinkedIn-imported data remains queryable by Omoikane or any sub-processor past the immediate-removal step.

When a deletion trigger reaches us asynchronously from LinkedIn’s side (you revoke from LinkedIn’s Permitted services panel, you close your LinkedIn account, or the OAuth grant expires without renewal), the same cascade runs from the moment we detect the signal: immediate removal from production, full cascade complete within 7 days.

How to revoke

You can revoke the LinkedIn connection from two places, and either is sufficient:

  1. From Omoikane — Settings → Integrations → LinkedIn → Disconnect
  2. From LinkedIn — Profile photo (Me) → Settings & Privacy → Data Privacy → Other applications → Permitted services → remove Omoikane.Coach

Revoking from either side triggers immediate removal of all LinkedIn-imported data from production systems, with the full cascade through replicas, encrypted backups, and audit-log archive markers completing within 7 days.

Display of imported data

Per LinkedIn DMA Portability API Terms §2.1, we make no claim that LinkedIn has “verified” or “confirmed” the accuracy of any imported data. When we display LinkedIn-imported fields back to you, or use them in a draft, we present them as data you provided to LinkedIn — surfaced via the portability channel — and you remain the source of truth.

Compliance commitments

Omoikane processes LinkedIn data under, and acknowledges:

Controller/processor characterisation

For the LinkedIn-imported data subset, Omoikane acts as the sole data controller in the GDPR sense once the data leaves LinkedIn under the user’s portability right (Art. 20 GDPR / DMA Art. 6(9)). LinkedIn is the source channel and remains controller for the data they continue to hold on you.

We acknowledge that the LinkedIn BD Data Processing Agreement, which the DMA Portability Terms incorporate by reference, places a number of processor-style obligations on the receiving party regardless of the formal controller/controller framing — including (i) industry-standard security obligations, (ii) 24-hour breach notification to LinkedIn, (iii) cooperation with audit requests, and (iv) sub-processor disclosure. We treat those obligations as binding on Omoikane and have built them into our security posture, our breach-response playbook (see Security above), and the Sub-processors register. The sole-controller framing applies to the GDPR-rights side (you exercise GDPR rights against us, not against LinkedIn, for the imported subset); the BD DPA framing applies to the technical-security and breach-cooperation side.

Controller and contact

Controller: Omoikane.Coach (sole-trader registered in Amsterdam, the Netherlands). General contact: privacy@omoikane.coach Data protection contact: privacy@omoikane.coach. Under GDPR Art. 37 a sole-trader at our scale is not required to appoint a formal Data Protection Officer (no large-scale systematic monitoring, no large-scale special-category processing); we have therefore designated a data protection contact who handles GDPR requests, breach response, and supervisory-authority liaison. We will appoint a formal DPO if/when our processing scale crosses the Art. 37 threshold and will notify you here. Postal address: Available on request via privacy@omoikane.coach — sole-trader registered in Amsterdam, the Netherlands.

Changes to this policy

If we change anything material in this policy you get an email at least 30 days before the change takes effect, and a complete diff of what changed. You can export and delete during the notice window without friction. Non-material changes (typo fixes, link updates, restructuring without semantic change) take effect immediately and are reflected in the Last updated timestamp at the top of this page.


← Back to home