# Yayına alma kontrol listesi

> trkit projesini canlıya almadan önce kontrol edilecekler.

## Şirket ve yasal metinler

- [ ] `src/trkit.config.ts` içinde unvan, MERSİS (veya şahıs şirketinde vergi no), adres, telefon, e-posta dolu
- [ ] `npx trkit check` uyarı vermiyor (CI'da `--strict`)
- [ ] Yurt dışı servisler (`kvkk.yurtDisiAktarim`) eksiksiz; standart sözleşme imzalandıysa 5 iş günü içinde Kurum'a bildirildi
- [ ] Çerez listesi (`cerezler`) sitede gerçekten kullanılan çerezlerle aynı
- [ ] VERBİS kayıt yükümlülüğü kontrol edildi
- [ ] Ticari ileti gönderilecekse İYS kaydı yapıldı, `ticariIleti.iysMarkaKodu` dolu
- [ ] Yasal metinler bir avukata kontrol ettirildi
- [ ] Footer'da yasal sayfa bağlantıları ve "Çerez Tercihleri" var (`src/lib/site.ts`)

## Ortam değişkenleri

- [ ] `NEXT_PUBLIC_SITE_URL` canlı adres
- [ ] `CONSENT_SALT`, `OTP_SECRET` uzun ve rastgele (`openssl rand -hex 32`)
- [ ] Ödeme: sandbox anahtarları canlı anahtarlarla değiştirildi, `IYZICO_SANDBOX` / `PAYTR_TEST_MODE` kaldırıldı
- [ ] PayTR Bildirim URL'si panelde canlı adrese ayarlı

## Veritabanı bağlantıları

- [ ] `app/api/consent/route.ts` → `kaydet()` veritabanına yazıyor
- [ ] `app/api/odeme/callback/route.ts` → `siparisiGuncelle()` idempotent ve tutarı kontrol ediyor
- [ ] OTP için paylaşımlı depo (Redis/DB) kullanılıyor

## Test

- [ ] Sandbox'ta başarılı, başarısız ve 3D Secure iptal senaryoları denendi
- [ ] Callback'e sahte istek atıldığında 400 dönüyor
- [ ] Çerez banner'ında "Reddet" sonrası analitik script'leri yüklenmiyor (tarayıcı geliştirici araçları → Ağ)
- [ ] Mobilde il/ilçe seçici ve telefon klavyesi doğru çalışıyor
- [ ] `npm run build` hatasız
