Automation
vibecoding-kvkk-gdpr
AI Kodlama Ajanları İçin KVKK (6698), GDPR (EU 2016/679), ETK/İYS (6563) ve TKHK (6502) Uyumlu Privacy-by-Design Kodlama Kuralları (Codex AGENTS.md, .cursorrules, CLAUDE.md, OpenClaw SKILL.md)
---
name: "vibecoding-kvkk-gdpr"
description: "6698 sayılı KVKK (2024/2026 reformları dahil), AB GDPR (General Data Protection Regulation), 6563 sayılı ETK (İYS), 6502 sayılı TKHK (Mesafeli Sözleşmeler) ve 5651 sayılı Kanun kapsamında Privacy by Design & by Default mimarisi, veri güvenliği (RLS, şifreleme, PII maskeleme), aydınlatma ve açık rıza mekanizmaları, çerez uyumu, yurt dışı veri aktarımı ve 72 saatlik veri ihlali müdahale kurallarını içeren kapsamlı yapay zeka ajan yönergesi. AI ajanları web, mobil, SaaS ve yapay zeka uygulamaları geliştirirken, kod üretirken, refaktör ederken veya denetlerken bu kurallara ZORUNLU olarak uymalıdır."
---
# ⚖️ VibeCoding KVKK & GDPR Rules
**AI Kodlama Ajanları İçin Veri Koruma Hukuku, Privacy-by-Design Mimarisi ve Mevzuat Uyum Yönergesi (KVKK · GDPR · ETK/İYS · TKHK · 5651)**
[](https://www.kvkk.gov.tr/)
[](https://gdpr-info.eu/)
[](https://iys.org.tr/)
[](https://www.mevzuat.gov.tr/)
[](https://github.com/melihkarasu)
[](https://www.kvkk.gov.tr/Icerik/8145/6698-sayili-kisisel-verilerin-korunmasi-kanunu-kapsaminda-idari-para-cezasi-tutarlari)
---
## 📖 Hukuki Vizyon ve Kapsam (Overview)
**VibeCoding KVKK & GDPR Rules**, yapay zeka kodlama ajanlarının (**Claude Code**, **Cursor**, **Windsurf**, **OpenClaw**, **GitHub Copilot** ve otonom yazılım iş akışları) geliştirdiği uygulamaların **tek bir satış bile yapmadan veya yayına çıktığı ilk gün** ağır idari para cezaları, erişim engelleri veya tazminat davalarıyla karşılaşmasını önlemek için bir **Bilişim ve Veri Koruma Hukukçusu** titizliğiyle tasarlanmıştır.
Geleneksel yazılım geliştirmede hukuki uyum genellikle ürün yayına çıktıktan sonra "eklenen metinler" sanılır. Oysa **KVKK Madde 12** ve **GDPR Madde 25 (Data Protection by Design and by Default)** uyarınca veri koruma; veritabanı şemasından (`Row Level Security`, `consent_logs`), ön yüz bileşenlerine (işaretlenmemiş açık rıza kutuları, yerel fontlar), e-posta/SMS kuyruklarından (İYS ve RFC 8058 `List-Unsubscribe`), loglama mimarisine kadar **doğrudan kaynak kodun içinde** inşa edilmek zorundadır.
---
## 🚀 Hızlı Entegrasyon (Quick Integration)
```bash
# 1. Repoyu klonlayın
git clone https://github.com/melihkarasu/vibecoding-kvkk-gdpr.git
# 2. OpenAI Codex (AGENTS.md), Cursor (.cursorrules) veya Claude Code (CLAUDE.md) olarak projeye ekleyin
cp vibecoding-kvkk-gdpr/AGENTS.md ./AGENTS.md
cp vibecoding-kvkk-gdpr/.cursorrules ./.cursorrules
cp vibecoding-kvkk-gdpr/CLAUDE.md ./CLAUDE.md
# 3. Veya OpenClaw / Claude Code Agent Skill olarak kurun
mkdir -p ~/.openclaw/workspace/skills/vibecoding-kvkk-gdpr
cp vibecoding-kvkk-gdpr/SKILL.md ~/.openclaw/workspace/skills/vibecoding-kvkk-gdpr/SKILL.md
```
| Dosya | Uyumlu Platform / Ajan | Amacı |
| :--- | :--- | :--- |
| **[`SKILL.md`](./SKILL.md)** | **OpenClaw · Claude Code · Codex Skills** | YAML üst verili (frontmatter) tam kapsamlı ajan yeteneği (Skill). |
| **[`AGENTS.md`](./AGENTS.md)** | **OpenAI Codex CLI / Codex Agent** | Codex ajanları için doğrudan proje kök dizini yönergesi. |
| **[`CLAUDE.md`](./CLAUDE.md)** | **Claude Code (`claude.md`)** | Claude Code için proje bazlı otomatik hukuk & gizlilik bellek dosyası. |
| **[`.cursorrules`](./.cursorrules)** | **Cursor IDE** | Cursor AI için otomatik yüklenen KVKK & GDPR kural seti. |
| **[`VibeCoding_KVKK_GDPR_Rules.md`](./VibeCoding_KVKK_GDPR_Rules.md)** | **Windsurf · Copilot · Custom LLM** | Bağımsız Markdown kural ve denetim referansı. |
| **[`README.md`](./README.md)** | **GitHub & Dokümantasyon** | Hızlı başvuru tabloları, 2026 ceza matrisi ve entegrasyon kılavuzu. |
---
## 🚨 2026 Yılı İdari Para Cezası ve Yaptırım Matrisi
AI ajanları kod yazarken veya denetim yaparken aşağıdaki her bir teknik eksikliğin doğrudan somut bir idari yaptırıma karşılık geldiğini bilerek hareket etmelidir:
| İhlal Alanı | Yasal Dayanak | 2026 İdari Para Cezası / Yaptırım Tutarı | Tipik Teknik Kök Neden (Kod Hatası) |
| :--- | :--- | :--- | :--- |
| **Aydınlatma Yükümlülüğü İhlali** | **KVKK m.10**<br>*(Ceza: m.18/1-a)* | **85.437 TL – 1.709.200 TL** | Kayıt, iletişim veya bülten formlarında veri toplanırken katmanlı aydınlatma metni bağlantısının bulunmaması veya rıza ile karıştırılması. |
| **Veri Güvenliği & 72 Saat Bildirim İhlali** | **KVKK m.12**<br>*(Ceza: m.18/1-b & Kurul 2019/10)* | **256.357 TL – 17.092.242 TL** | Supabase/PostgreSQL `public` şemasında RLS kapalı tablolar, ön yüzde `service_role` anahtarı sızıntısı, denetim logu ve 72 saat ihlal planı olmaması. |
| **Kurul Kararlarına Aykırılık** | **KVKK m.15**<br>*(Ceza: m.18/1-c)* | **427.263 TL – 17.092.242 TL** | Özel nitelikli verilerde (Kurul 2018/10) ek şifreleme/maskeleme yapılmaması, rızanın hizmet şartına bağlanması. |
| **VERBİS Kayıt Yükümlülüğü İhlali** | **KVKK m.16**<br>*(Ceza: m.18/1-ç)* | **341.800 TL – 17.092.242 TL** | Kod tabanında işlenen veri kategorilerinin ve saklama sürelerinin Veri Envanteri (ROPA) ile uyumsuz olması. |
| **Yurt Dışı Aktarım (Standart Sözleşme) Bildirim İhlali** | **KVKK m.9**<br>*(Ceza: m.18/1-d — 2024/2026 Reformu)* | **Yurt Dışı Aktarım İdari Para Cezası** | Yurt dışı bulut/AI/SaaS sağlayıcılarıyla yapılan Standart Sözleşmenin 5 iş günü içinde Kuruma bildirilmemesi veya izinsiz IP/veri aktarımı. |
| **İzinsiz Ticari Elektronik İleti (Spam)** | **6563 Sayılı ETK m.6**<br>*(Ceza: m.12/1-a)* | **2.859 TL – 14.309 TL**<br>*(Toplu gönderimde 10 katı: **143.090 TL**)* | Pazarlama izni (`marketing_consent`) olmayan kullanıcılara kampanya maili/SMS atılması, İYS senkronizasyonu ve abonelikten çıkma linki olmaması. |
| **Ön Bilgilendirme & Mesafeli Satış İhlali** | **6502 Sayılı TKHK m.48/2**<br>*(Ceza: m.77/1-a)* | **Satış / Sözleşme Başına 3.973 TL** | Ödeme adımından önce Ön Bilgilendirme Formu ve Mesafeli Satış Sözleşmesi onayının alınmaması, abonelik yenileme/iptal şartlarının gizlenmesi. |
| **AB Kullanıcıları & Yurt Dışı Veri Sızıntısı** | **GDPR Art. 5, 6, 25, 32, 44-49**<br>*(Ceza: Art. 83 & Art. 82)* | **20.000.000 EUR** veya **%4 Küresel Ciro**<br>+ Ziyaretçi Başı Tazminat *(örn. 100 EUR)* | Ücretsiz uygulamalar dahil AB ziyaretçilerinin IP adresinin Google Fonts CDN, izinsiz Analytics/Pixel veya LLM API'leri üzerinden AB/TR dışına aktarılması. |
---
## 🔟 AI Ajanları İçin 12 Altın Hukuk ve Gizlilik Kuralı (The 12 Golden Rules)
| # | Hukuki & Teknik Alan | ❌ Asla Yapma (Hukuka Aykırı / Ceza Riski) | ✅ Her Zaman Uygula (Privacy-by-Design Kalıbı) |
| :-: | :--- | :--- | :--- |
| **01** | **Veritabanı Güvenliği & RLS**<br>*(KVKK m.12 / GDPR Art. 32)* | Supabase/PostgreSQL `public` şemasında RLS'i kapalı bırakmak, politikasız tablo oluşturmak veya ön yüzde `service_role` anahtarı kullanmak. | Her tabloda `ENABLE ROW LEVEL SECURITY` ve `auth.uid() = user_id` politikası tanımla; `service_role` anahtarını yalnızca sunucu tarafında (Server Actions / Route Handlers) tut. |
| **02** | **Aydınlatma vs. Açık Rıza Ayrımı**<br>*(KVKK m.5, m.10 / GDPR Art. 7, 13)* | *"Aydınlatma metnini ve açık rızayı okudum, kabul ediyorum"* şeklinde tek bir onay kutusu koymak veya kutuyu varsayılan işaretli (`checked`) getirmek. | **Aydınlatma Metnini** onaya tabi tutmadan görünür link/katmanlı bilgi olarak sun; **Açık Rızayı** yalnızca gerekli hallerde, işleme amacı bazında **ayrı** ve **işaretlenmemiş (`checked={false}`)** kutularla al. |
| **03** | **Hizmetin Rızaya Şart Koşulmaması**<br>*(KVKK m.4, m.5 / GDPR Art. 7(4))* | Sözleşmenin ifası (kayıt/sipariş) için yeterli olan bir işlemde pazarlama veya 3. taraf paylaşım rızasını `required` (zorunlu) yapmak (*Bundled Consent*). | Temel hizmetin sunulması için zorunlu olmayan hiçbir açık rıza kutusuna `required` özniteliği koyma; kullanıcı rıza vermeden de kayıt olabilmeli ve alışveriş yapabilmelidir. |
| **04** | **Ticari Elektronik İleti & İYS**<br>*(6563 ETK m.6-8 / CAN-SPAM)* | Tüm `users` tablosuna toplu kampanya maili/SMS atmak, izin tarihini kaydetmemek veya mail altbilgisinde çıkış linki bulundurmamak. | Gönderim sorgusuna `WHERE marketing_consent = true AND unsubscribed_at IS NULL` şartı koy, izin/ret zaman damgasını İYS uyumlu kaydet ve her iletide tek tıkla `List-Unsubscribe` sun. |
| **05** | **Ödeme, Abonelik & Mesafeli Satış**<br>*(6502 TKHK m.48 / EU 2011/83)* | Kullanıcıyı doğrudan Stripe/iyzico ödeme ekranına yönlendirip Ön Bilgilendirme Formu ve Mesafeli Satış Sözleşmesi onayını kaydetmemek. | Ödeme tetiklenmeden önce Ön Bilgilendirme Formu ve Mesafeli Satış Sözleşmesi onayını al, sözleşme metninin SHA-256 özetiyle birlikte `contract_acceptances` tablosuna kaydet; abonelikte fiyat, yenileme tarihi ve iptal yolunu açıkça yaz. |
| **06** | **Yurt Dışı Veri Aktarımı & Font/CDN**<br>*(KVKK m.9 / GDPR Art. 44 / LG München)* | `fonts.googleapis.com`, `cdnjs` veya harici CDN'lerden tarayıcı üzerinden doğrudan font/betik yükleyerek ziyaretçi IP'sini yurt dışına sızdırmak. | Tüm fontları projeye dahil ederek kendi sunucunda barındır (`next/font/local` veya yerel `.woff2`); 3. taraf harici istekleri sunucu vekili (proxy) üzerinden geçir veya açık rızaya bağla. |
| **07** | **Çerez (Cookie) & İzleyici Yönetimi**<br>*(KVKK Çerez Rehberi / ePrivacy)* | Sayfa açılır açılmaz Google Analytics, Meta Pixel, Hotjar veya Clarity betiklerini çalıştırmak; çerez banner'ında "Reddet" butonunu gizlemek. | Zorunlu olmayan tüm betikleri `consent.analytics === true` kontrolü arkasına al; çerez bann
... (truncated)
automation
Comments
Sign in to leave a comment