Skip to main content

Veri Sahibi Erişim Talepleri (DSAR)

Bir Veri Sahibi Erişim Talebi (gizlilik talebi veya tüketici hakları talebi olarak da adlandırılır), bir kişinin kendisi hakkında elinizde bulunan kişisel veriler üzerindeki haklarını — bu verilere erişim, silme, düzeltme, taşıma veya satışına ilişkin ret hakkı — kullanmak için başvurduğu resmi mekanizmadır. Çoğu gizlilik yasası, yanıt vermeniz için kesin bir süre tanır (GDPR kapsamında 30 gün, CCPA/CPRA kapsamında 45 gün). Orbit size iki talep giriş yolu ve tek bir karşılama hattı sunar:
  • Operatör tarafından oluşturulan DSAR — destek veya uyumluluk ekibiniz, kimliği doğrulanmış API veya pano üzerinden bir müşteri adına talep oluşturur.
  • Herkese açık self-servis portal — veri sahibi, herhangi bir şey kuyruğa alınmadan önce kimliğini iki aşamalı e-posta + SMS OTP ile kanıtlayan, herkese açık ve kimlik doğrulaması gerektirmeyen bir akış üzerinden kendi talebini oluşturur.
Bu sayfa Orbit’in platform kontrollerini açıklar. Bu hukuki tavsiye değildir. Yükümlülükleriniz — hangi yasaların geçerli olduğu, neyi açıklamanız gerektiği ve ne kadar süreniz olduğu — veri sahiplerinizin yaşadığı yere ve işlediğiniz verilere bağlıdır. Nitelikli bir hukuk danışmanıyla teyit edin.
Aşağıdaki tüm uç noktalar https://api.orbit.devotel.io/api/v1/compliance köküne bağlıdır.

Desteklenen yargı bölgeleri ve süreler

Bir talepteki applicable_jurisdiction, Orbit’in SLA izleyicisinin hangi yasal süre sayacını uygulayacağını belirler. Operatörler bir talebi giriş sonrasında yeniden sınıflandırabilir.

Talep türleri

request_type, veri sahibinin ne talep ettiğini açıklar. CCPA/CPRA eylem kümesinin tamamı operatörlere açıktır; herkese açık portal, buna karşılık gelen daha kullanıcı dostu bir alt küme sunar. CCPA erişim taleplerinde ayrıca consumer_categories ekleyebilirsiniz — veri sahibinin sorduğu CCPA §1798.100(b) kategorileri: identifiers, customer_records, protected_classifications, commercial, biometric, internet_activity, geolocation, sensory, professional, education, inferences, sensitive_pi.

Operatör tarafından oluşturulan talepler

Talep oluşturma

POST /compliance/dsar — bir yönetici veya sahip API anahtarı gerektirir. En az bir veri sahibi tanımlayıcısı (contact_id, subject_email veya subject_phone) ile yazışmaların gönderileceği requester_email sağlayın.
202 Accepted döndürür:
Notapplicable_jurisdiction yalnızca GDPR kapsamında var olan haklar için varsayılan olarak gdpr değerini alır. opt_out_sale ve limit_sensitive_pi talep türleri yalnızca CCPA/CPRA’ya özgüdür ve GDPR karşılığı yoktur; bu nedenle bunlar için applicable_jurisdiction değerini açıkça ccpa veya cpra olarak ayarlamanız gerekir. Atlanması (veya gdpr varsayılanının bırakılması) 422 VALIDATION_ERROR ile reddedilir.

Durum yaşam döngüsü

Bir talep şu sıradan geçer: receivedprocessingcompleted ve failed, expired ile cancelled olmak üzere sonlanan dallara sahiptir. Doğrulama alt durumu bağımsız olarak izlenir: pendingverified (işçi devam eder) veya rejected (işçi durur). GDPR/yönetici tarafından oluşturulan satırlar varsayılan olarak not_required değerini alır.

Kimliği doğrulama veya reddetme

Daha yüksek güvence gerektiren talepler (silme, ret, hassas sınırlama), karşılama işleminden önce bir operatör kararı gerektirir:
decision verified veya rejected olabilir; notes isteğe bağlıdır (≤ 2048 karakter). Yeni verification_status ve verified_at değerlerini döndürür.

Talebi iptal etme

POST /compliance/dsar/{id}/cancel, devam eden bir talebi geri çeker (GDPR Md 7(3)). Yalnızca talep received veya processing durumundayken çalışır; sonlanmış bir talep 409 Conflict döndürür.

Talepleri listeleme ve okuma

  • GET /compliance/dsar — sayfalanmış liste. Sorgu: page (≥ 1), page_size (≤ 100, varsayılan 25) ve isteğe bağlı bir status filtresi.
  • GET /compliance/dsar/{id} — tek bir talebi getirir. Bir erişim/taşınabilirlik dışa aktarımı üretildiğinde yanıt, imzalı export_url (ve export_expires_at) ile tablo başına satır sayılarını açıklayan tables_exported içerir.

Silme talepleri

GDPR Md 17 silmeleri, veriler yok edilmeden önce denetleyebilmeniz ve müdahale edebilmeniz için kendi kaynağı olarak izlenir:
  • GET /compliance/dsar/erasure-requests — liste. Sorgu: status (pending, cancelled, executing, executed, failed) ve limit (≤ 500).
  • POST /compliance/dsar/erasure-requests/{id}/cancelbekleyen bir silmeyi yürütülmeden önce iptal eder. İsteğe bağlı reason (≤ 500 karakter). Zaten yürütülüyorsa veya tamamlanmışsa 409 döndürür.

SLA panosu

GET /compliance/dsar/sla, yasal süreyi asla kaçırmamanız için birleşik bir dışa aktarım + silme SLA anlık görüntüsü döndürür:
Önem düzeyi kademeleri her yargı bölgesinin SLA penceresiyle orantılı olarak ölçeklenir — gün eşikleri GDPR 30 günlük duruma sabitlenir ve slaDays / 30 oranıyla çarpılır; böylece bir talep her zaman kendi son tarihinin aynı kesrinde amber ve kırmızıya döner. escalation_due, yasal son tarihten 5 gün önce (slaDays − 5) değişir. GDPR için (sla_days: 30): yeşil (< 20 gün geçmiş), amber (20–25), kırmızı (26–30), kırmızı + ihlal (> 30); escalation_due 25. günde. CCPA/CPRA için (sla_days: 45) aynı oranlar yeşil (< 30), amber (30–38), kırmızı (39–45), kırmızı + ihlal (> 45) verir; escalation_due 40. günde. Kademe sınırlarını her zaman sabit 20/25/30 sayılarına karşı değil, söz konusu talep için döndürülen sla_days değerine karşı okuyun.

Herkese açık self-servis portal

Herkese açık akış, bir veri sahibinin hesap olmadan talep oluşturmasını sağlar. Herhangi bir talep kuyruğa alınmadan önce kimlik, iki aşamalı OTP — bir e-posta kodu ve bir SMS kodu — ile kanıtlanır. Uç noktalar /compliance/public/dsar altında bulunur ve kimlik doğrulaması gerektirmez; ancak Cloudflare Turnstile, IP başına ve tanımlayıcı başına hız sınırları ve bir e-posta/telefon çiftinin gerçek bir kişiyle eşleşip eşleşmediğini asla açığa vurmayan, gizliliği koruyan bir yanıt biçimi ile korunur.
SMS doğrulama kodları Devotel softswitch’i (platformun tek giden SMS yolu) üzerinden iletilir. Bunlar platform OTP’leridir, kiracıya faturalandırılan trafik değildir ve teslimat makbuzu kalıcılığı taşımaz.

Akışa genel bakış

1

Başlat

POST /compliance/public/dsar/begin ile email, phone (E.164), request_type (access | delete | portability | opt_out) ve bir Cloudflare turnstile_token (üretimde zorunlu) gönderin. Opak bir claim_id, email_sent: true ve expires_in: 600 döndürür. Bir e-posta OTP’si hemen gönderilir.
2

E-postayı doğrula

POST /compliance/public/dsar/verify-email ile claim_id ve 6 haneli code gönderin. email_verified durumunu ve phone_send sonraki adımını döndürür. Kodlar 10 dakika sonra geçerliliğini yitirir; en fazla 3 deneme. POST …/resend-email ( claim_id + email ile) 60 saniyelik bekleme süresine tabi olarak yeni bir kod üretir.
3

Telefon kodunu gönder

POST /compliance/public/dsar/send-phone ile claim_id ve başlatma adımında verilenle eşleşen phone gönderin. Bir SMS OTP’si gönderir (expires_in: 600). Gönderimler arasında 60 saniyelik bekleme süresi uygulanır; çok erken yapılan bir yeniden deneme Retry-After ile 429 döndürür.
4

Telefonu doğrula

POST /compliance/public/dsar/verify-phone ile claim_id ve 6 haneli code gönderin. phone_verified durumunu ve submit sonraki adımını döndürür.
5

Gönder

POST /compliance/public/dsar/submit ile claim_id gönderin. Bir denetim satırı kaydeder ve — yalnızca doğrulanan e-posta + telefon, kiracınızdaki bir kişiyle eşleşirse — gerçek bir DSAR kuyruğa alır (OTP kimliği zaten kanıtladığı için önceden verification_status: verified işaretlidir). Bir reference_id (örn. dsar_pub_…) ve bir queued boolean değeri döndürür.

Kimlik kanıtı gönderenleri yapılandırma

İki OTP, API ortamınızda bir kez yapılandırdığınız platform düzeyi gönderenlerden gönderilir. Bunları portalı yayımlamadan önce ayarlayın — yedeksiz ayarlanmamış bir SMS göndereni, telefon adımının kapalı şekilde başarısız olmasına neden olur. DEVOTEL_DSAR_PROOF_SMS_FROM ve DEVOTEL_PLATFORM_DEFAULT_FROM ikisi de ayarlanmamışsa, send-phone adımı 503 ile kapalı şekilde başarısız olur — portal “geçici olarak kullanılamıyor” mesajı döndürür ve hata, ikinci aşamanın sessizce atlanması yerine panolarınızda görünmesi için dsar.proof.sms_send_failed metriği altında yayınlanır. Benzer şekilde, DEVOTEL_RESEND_API_KEY ayarlanmamışken e-posta adımı 503 döndürür. Portalı herkese açık olarak bağlamadan önce iki göndereni de yapılandırın.

Kötüye kullanım savunmaları

Yanıt biçimi, tanımlayıcıların gerçek bir kişiyle eşleşip eşleşmediğine bakılmaksızın aynıdır — portal birinin veritabanınızda olup olmadığını asla doğrulamaz veya reddetmez. Redis kullanılamadığında, hız sınırı kapıları kullanılabilirliği korumak için açık şekilde başarısız olur.

Turnstile korumasını etkinleştirme

Turnstile kapısı iki ortam değişkeniyle yapılandırılır.
DEVOTEL_TURNSTILE_SECRET_KEY ayarlanmamışken kapı fail-open durumdadır: begin, token olmadan istekleri kabul eder ve tek bir uyarı kaydeder. Üretimde gizli anahtarı ayarlayın; aksi takdirde, yukarıdaki diğer tüm kötüye kullanım savunmaları geçerli olmaya devam etse bile portal Turnstile tarafından korunmaz. Her iki anahtarı da Cloudflare panosunda (Turnstile → Add site) oluşturun ve sırasıyla API ve web dağıtımlarında ayarlayın.

Portal bağlantısını barındırma

Herkese açık portalı, gizlilik politikanızın altında “Bir gizlilik talebi gönder” bağlantısı olarak yayımlayın. Akış OTP aracılığıyla kendi kendini doğruladığı için, üzerinden gelen talepler kimliği zaten kanıtlanmış haldedir — operatör kuyruğunuza karşılanmaya hazır olarak düşerler ve operatör tarafından oluşturulan taleplerle birlikte GET /compliance/dsar içinde görünürler.

İlgili referanslar