Consenti

KVKK Compliance Guide (Turkey)

ℹ️Compliance group: opt-in — explicit consent required for sensitive personal data. Use compliance: { type: 'opt-in' } in your ConsentiSetup config.

Turkey's Kişisel Verilerin Korunması Kanunu (KVKK) — Law No. 6698 — came into force in April 2016 and is enforced by the Kişisel Verileri Koruma Kurumu (KVK Board / KVKK Authority). It is inspired by the EU GDPR's predecessor (Directive 95/46/EC) and has been progressively updated to align with modern GDPR requirements. Consenti supports KVKK via regulation: 'kvkk'.

⚠️Consenti provides Partial coverage for KVKK. The consent UI, audit log, and withdrawal are fully supported. Data localisation requirements (certain data must be stored in Turkey), cross-border transfer rules, and VERBİS (data controller registry) registration are infrastructure and legal obligations that fall outside Consenti's scope.

Official references

Key requirements

RequirementDetail
Compliance GroupOpt-in — informed, related to a specific matter, based on free will
Sensitive dataExplicit consent required (race, ethnicity, political opinion, religion, sect, health, sexual life, criminal record, biometrics, security measures)
Blanket consentNot valid — consent must be specific per purpose
WithdrawalMust be possible at any time; equivalent mechanism to giving consent
VERBİS registrationData controllers above certain size thresholds must register in the data controller registry
Cross-border transferRequires either data subject consent or KVK Board authorisation (or country adequacy)
EnforcerKVK Board (Kişisel Verileri Koruma Kurumu)

KVKK vs. GDPR

GDPRKVKK
Opt-in requiredYesYes
Lawful bases6 (Art. 6)Similar list in Art. 5–6; consent is primary
Sensitive dataArt. 9 special categoriesArt. 6 — broader list including security measures
DPO equivalentDPO (mandatory for some)No mandatory DPO requirement
RegistryNo mandatory controller registryVERBİS — mandatory for qualifying controllers
GPCOptionalNot recognised

Enabling KVKK mode

Frontend widget

ts
new ConsentiSetup({
  compliance: { type: 'opt-in' },
})

Profile configuration (dashboard)

json
{
  "regulation": "kvkk"
}

Unlike DPDPA (which has a dedicated dpdpa profile block rendered automatically), KVKK has no dedicated metadata field yet. Turkish law requires the data controller's identity and contact information to be disclosed — add it directly to preferenceModal.htmlText (or mainBanner.htmlText) via profileOverride or the dashboard's text editor.

What Consenti does — and what it doesn't

Everything above is the consent-collection UX layer: opt-in capture, per-category records, withdrawal, and erasure. KVKK imposes registry and transfer obligations beyond what a consent widget can satisfy on its own. Consenti does not:

  • Complete VERBİS (Data Controllers' Registry) registration — that's an administrative filing with the KVK Board you complete outside the product, if your organisation meets the qualifying size/processing thresholds
  • Obtain KVK Board authorisation for a cross-border transfer that lacks an adequacy decision or explicit data-subject consent — that's a legal/administrative step, not a widget config
  • Guarantee data localisation for data subject to Turkey-specific storage expectations — self-hosting @consenti/api means you control where it runs, not that it runs in Turkey
  • Author sector-specific written consent forms some KVK Board guidance requires beyond cookie consent — Consenti covers the cookie/tracking consent surface, not every KVKK consent touchpoint your organisation may have

Operator checklist

Beyond configuring Consenti's opt-in consent group, an operator with KVKK exposure still needs to:

  1. Register in VERBİS if your organisation meets the KVK Board's size/processing thresholds, and keep that registration current
  2. Confirm the cross-border transfer legal basis (consent, KVK Board authorisation, or adequacy) before routing data to non-Turkey infrastructure
  3. Keep the data controller's identity and contact information current in preferenceModal.htmlText or mainBanner.htmlText, as required by Turkish law
  4. Configure each cookie category with a genuinely distinct, specific purpose — KVKK does not recognise blanket consent, so the underlying per-category records need to reflect real purpose granularity even if your banner offers an "accept all" shortcut

Erasure

KVKK Article 7 grants data subjects the right to request deletion. Use:

http
DELETE /consenti/api/v1/consent/:visitorId

For the widget-side "Forget me" button and the events both sides fire, see the Right to Erasure guide.