İçeriğe geç

Dokümantasyon

Bize güvenmeye dayanmayan kısım.

Bir denetim izi, ancak şirketinizin dışındaki birinin onaylayabildiği kadar değerlidir. Buradaki her şey, bunu sizin yardımınız olmadan onaylayabilmeleri için yazıldı.

Mührü kendiniz doğrulayın

Her gün, içindeki tüm olaylar üzerinden bir Merkle köküyle kapanır ve her kontrol noktası kendinden öncekinin özetini taşır. Bir yıl önceki tek bir kaydı değiştirmek, o günden beri atılan tüm mühürleri — size daha önce gösterilmiş olanlar dahil — yeniden hesaplamayı gerektirir.

Zinciri yürüyünAyarlar → Defter, her açılışta bağları yeniden hesaplar ve tutmayan ilk günü söyler. Hiçbir şey önbelleklenmez; sayfa size bayat bir “her şey yolunda” gösteremez.
Bir günü doğrulayınO günün kökünü şu anda saklanandan yeniden hesaplar ve mühürleme anında kaydedilenle karşılaştırır. Hem kökü hem olay sayısını bildirir: silme birini, düzenleme diğerini değiştirir.
Tek bir olayı kanıtlayınDahil olma kanıtı üretir: olayın yaprak özeti ve günün kökünü yeniden üreten birkaç kardeş özet. Birkaç on bayt; günün geri kalanını okumadan ve bize güvenmeden doğrulanabilir.
Hiçbir şey olayların yanında saklanmaz. Olay deposundaki bir özet sütunu, tarif ettiği satırı değiştirebilen herkes tarafından değiştirilebilir; bu yüzden kontrol noktaları farklı kimlik bilgileriyle başka bir veritabanında — kendi sunucunuzda kuruyorsanız sizin olan birinde — durur.

Günler, varsayılan olarak iki saatlik bir tolerans süresinden sonra mühürlenir. Olaylar tamponlanıp toplu gönderildiği için 23:59:58’de olan bir olay dakikalar sonra ulaşabilir; gece yarısı mühürlemek onu kapsaması gereken kökün dışında bırakır ve sonraki her kontrol, hiç yaşanmamış bir oynama bildirirdi.

Ve bize güvenmeye dayanmayan kısım

Yukarıdaki zincir, kimsenin bir olayı, onu kapsayan kontrol noktasını da değiştirmeden değiştirmediğini gösterir. İkisi de bizim işlettiğimiz veritabanlarında durur; katı okunduğunda bu, kendi kayıt düzenimiz hakkında bir ifadedir — ve şüpheci bir denetçi bunu size söyleyecektir.

Bu yüzden her mühür, bizi hiç duymamış bir RFC 3161 otoritesi tarafından da zaman damgalanır. Jeton, kontrol noktası özetinin o tarihte var olduğunu, bizde bulunmayan bir anahtarla imzalayarak söyler. Bir yıllık geçmişi yeniden yazmak artık kamusal bir otoriteden geriye tarihli jeton almayı gerektirir; bu, iki tablomuzu düzenlemekten bambaşka bir zorluk sınıfıdır.

Çevrimdışı doğrulanırJeton kendi sertifikasını taşır; doğrulama için dosyadan başka hiçbir şey gerekmez — ne ağ ne de bizde bir hesap. Her delil paketi, kapsadığı günlerin jetonlarını da taşır.
Saklanmakla kalmaz, denetlenirAyarlar → Defter her jetonu, iliştirildiği kontrol noktasına karşı doğrular. Başka bir şeyi doğrulayan bir jeton onay değil, hata olarak okunur.
Kesinti asla mührü düşürmezOtoriteye ulaşılamazsa gün yine mühürlenir ve yine zincirlenir; çapa sonraki turda eklenir. Kamusal bir servisin kapalı olması delilinizde boşluk bırakmamalıdır.
# Any RFC 3161 authority. The processor is the only process that stamps.
Ledger__TimestampAuthorityUrl=https://freetsa.org/tsr

Bir URL verene kadar kapalıdır — buradaki, kurulumun dışına uzanan her şey gibi. Herhangi bir kamusal otorite çalışır ve birkaçı bu hacimde ücretsizdir.

Sizde duran bir kopya

Yeni mühürlenen her gün, özeti hâlihazırda yönlendirdiğiniz kanala da gönderilir — Slack, Teams ya da kendi webhook’unuz. Mesaj günü, olay sayısını, Merkle kökünü ve kontrol noktası özetini taşır. Saklayın. Aynı mühürdür; hiç erişimimizin olmadığı bir yerde durur, böylece ileride bir anlaşmazlık iki veritabanımıza kalmaz.

Tüm defteri tek seferde denetlemek

Panel günü tek tek doğrular, delil paketi de denetçi için yönergeler taşır. İkisi de bir operatörün yedekten döndükten ya da bir olayı atlattıktan sonra sorduğu soruyu yanıtlamaz: hepsi hâlâ burada mı ve hâlâ yayımladığımız özetleri veriyor mu? Tek bir komut, mühürlenmiş her günü depodaki gerçek olaylardan yeniden hesaplar ve her kökü kendi kontrol noktasıyla karşılaştırır.

reldavi verify --tenant acme --control-plane "$RELDAVI_CONTROLPLANE" --clickhouse "$RELDAVI_CLICKHOUSE"
Mühürlü bir gün artık uyuşmuyorsa sıfırdan farklı bir kodla çıkar; yani birinin okuyup yorumlaması gereken bir çıktı olmak yerine yeniden başlatmayı durdurabilir. Bir geri yüklemenin işe yarayıp yaramadığına karar veren adım budur. Olaylar bir veritabanında, onları kanıtlayan kontrol noktaları başka bir veritabanında durur; bu yüzden yarım bir geri yükleme, normal çalışan ama hiçbir şey kanıtlamayan bir iz üretir — ve bunu size söyleyecek tek şey kökleri yeniden hesaplamaktır.

Delil paketleri

Denetçinin istediği şey bir CSV değildir. Kayıtlar, onların değiştirilmediğini kanıtlayan mühürler, o tarihten sonra imha edilenlerin sertifikaları ve tüm bunların nasıl kontrol edileceğini anlatan bir sayfadır. Tek düğme arşivi üretir.

delil-2026-08.zip
├── events/events.csv               kayıtlar, elektronik tablonun açtığı gibi
├── events/events.json              aynı kayıtlar, makine okur biçimde
├── ledger/checkpoints.json         kapsanan her günün Merkle mührü
├── destruction/certificates.json   ne imha edildi, hangi politikayla
├── manifest.json                   yukarıdaki her dosyanın SHA-256 özeti
└── HOW-TO-VERIFY.txt               hepsini bizsiz nasıl doğrularsınız

Her dosyanın özeti manifestoya işlenir; böylece paket bütün olarak oynama belirtir hale gelir — paket e-postayla dolaşır ve aylar sonra, üretildiği odada bulunmamış biri tarafından açılır. Raporlar → İndir herhangi bir aralık için üretir; aylık paketi açmak önceki ayı otomatik yazar, ayın birkaç gün içinde — böylece ay sonunda olup ertesi ayın ilk dakikalarında ulaşan olaylar da içinde olur.

Zamanlanmış paketler sizin kontrolünüzdeki bir birime yazılır. Bilerek ne bir kova ne de bir kimlik bilgisi var: bir delil paketi, müşterinin üçüncü bir tarafa anahtar vermeyi en az isteyeceği çıktıdır.

Hukuki muhafaza

Saklama süresi takvime göre siler; özellik budur. Sonra bir soruşturma bildirimi gelir ve tek bir muhataba dokunan her şeyi korumanız gerekir — politikanızdan daha uzun süre, süresiz olarak ve yalnızca o alt küme için.

Muhafaza kaydı olmadan iki seçenek vardır ve ikisi de kötüdür: saklamayı tümden kapatmak — ki bu, veri silme konusunda verdiğiniz diğer tüm taahhütleri bozar — ya da süpürgenin, yasal olarak saklamakla yükümlü olduğunuz delili imha etmesine izin vermek. İkincisi bir olaydır.
Muhafaza takvimi geçersiz kılarBir dosya üzerine konur; isteğe bağlı olarak bir kaynak türüne veya tarih aralığına daraltılır. Ayakta olduğu sürece kapsadığı hiçbir şey arşivlenmez, düşürülmez veya silinmez.
Ayın tamamını korurSaklama, ayları bir üstveri işlemi olarak düşürür; bu yüzden bir ayın herhangi bir parçasına dokunan muhafaza, ayın tamamını korur. Burada istenenden fazlasını korumak doğru hatadır; korunan kayıtların etrafından silmek değil.
Tutanak boşluğu açıklarMuhafazanın koruduğu ay, imha tutanağında muhafazanın referansıyla birlikte anılır; böylece imha takvimindeki boşluk arıza değil karar olarak okunur.
Kaldırma kaydedilir, silinmezKaldırılan muhafaza, kimin ne zaman kaldırdığıyla birlikte listede kalır. O ayların neden penceresini aştığının tek açıklaması budur ve bu, yıllar sonra sorulan bir sorudur.

Ayarlar → İmha sayfasından bir yönetici tarafından konur ve kaldırılır; kişi satıra yazılır. Sonrasında sorulan soru asla politikanın ne olduğu değildir; silmeyi kimin, ne zaman ve kimin talimatıyla durdurduğudur.

İlgili kişi başvuruları

Biri yazıp hakkında ne tuttuğunuzu ve onunla ne yaptığınızı soruyor. KVKK madde 11 ve GDPR madde 15 ona bu hakkı, size de otuz gün veriyor. Bugün bu cevap elle hazırlanıyor: biri birkaç sistemi sorguluyor, excel çıkarıyor, karartıyor, mektup yazıyor. Başvuru başına günler sürüyor, hata yapmaya açık ve yanlış yapmak cezalı.

Zor kısmı zaten sizde. O kişinin kayıtlarına dokunan her değişiklik, kimin yaptığı ve ne zaman olduğu tek bir yerde. Bu, onu size değil ona yazılmış bir belgeye çevirir — kendi dilinde, yanında makine tarafından okunabilir hâli ve sağlama toplamıyla. Tek alanlı bir form.
İlgili kişi başvurusu İlgili kişi başvurusu ZİP’İN İÇİNDE your-records/by-you.csv kendi yaptıklarınız your-records/about-you.csv kayıtlarınıza yapılanlar your-records/everything.json aynısı, tüm ayrıntısıyla WHAT-THIS-IS.txt Türkçe ve İngilizce manifest.json her dosyanın sağlaması about-you.csv — ne oldu 2026-03-14 09:12 Şirketten biri teslimat adresinizi değiştirdi. 2026-02-02 16:40 Şirketten biri faturanızı görüntüledi. 2025-11-20 11:05 Siz hesabınızı oluşturdunuz. 2025-11-20 11:06 Şirketten biri ödeme kartınızda son dört haneyi değiştirdi. Kaydedilirken maskelenen değerler maskeli kalır. Hiçbir zaman tam hâliyle saklanmadılar. KVKK madde 11 ve GDPR madde 15 uyarınca otuz gün. Bu, tek alanlı bir form.
Sorunun iki yarısı daKendi yaptıkları ve kayıtlarına yapılanlar. "Hakkımda ne tutuyorsunuz ve onunla ne yaptınız" iki sorudur; yalnızca birini yanıtlayan paket ikinci bir başvuru davet eder.
Halktan biri için yazılmış"shop.order updated" doğrudur ve cevap değildir. Her satır bir cümledir — "Şirketten biri teslimat adresinizi değiştirdi" — ve kontrol etmek isteyen için tam teknik kayıt yanındadır.
Neyi içermediğini söylerBu, değişikliklerin kaydıdır; her kaydın kopyası değil. Yakalanırken maskelenen değerler maskeli kalır ve paket bunu açıklar — bu, başvuruya uygulanan bir karartma değildir; o değerler hiç tam saklanmadı.
Her zaman iki dildeHangisi istenmiş olursa olsun açıklama sayfası Türkçe ve İngilizce taşır. Kişinin okuyamadığı bir dilde gelen paket, ona cevap vermiş olmaz.
Paketi üretmek de kaydedilirİzi kim okudu listesinde bir dışa aktarım olarak görünür. Bir başvuruyu nasıl işlediğinizi soran düzenleyici, güvence değil cevap alır.
Burada bir dil modelinin yapabileceği tek şey, her olay türü için bir cümle yazmaktır. Ona hiçbir değer gösterilmez, hiçbir kimlik gösterilmez ve pakete neyin gireceği hiç sorulmaz — yalnızca bir kaynak türü, bir fiil ve alan adlarının listesi verilir. Olaylar bir filtreden, sayılar saymaktan gelir. Hiçbir şey döndürmeyen bir anlatıcı, içinde tam olarak aynı olaylar bulunan ve dili daha sade olan bir paket üretirdi — anahtar tanımlanmadığında olan da budur.

Raporlar → İlgili kişi başvurusu. Paket bellekte oluşmak yerine akar; yani on yıllık geçmişi olan biri yavaş bir indirmedir, başarısız bir indirme değil.

Denetim odası

Dış bir denetçi bir döneme ait değişiklik geçmişinizi görmek istiyor. Bugün iki seçeneğiniz var ve ikisi de kötü: ona gerçek bir hesap verirsiniz — bir koltuk, bir parola, kaldırmayı hatırlamanız gereken bir kullanıcı ve sorduğu çeyrek yerine izin tamamı — ya da excel gönderirsiniz, ki binadan çıktığı anda doğrulanabilir olmaktan çıkar.

Bu, üçüncü seçenek. Tek bir bağlantı; bir dönemle ve isterseniz kaynak türüyle sınırlı, sizin seçtiğiniz tarihte sona eren ve siz kapattığınız anda çalışmayı durduran. Hesap yok, koltuk yok, gezilecek başka yer yok.
Denetim odası SOC 2 2026 — Deloitte 1 Temmuz – 30 Eylül 2026 kayıtları · bu bağlantı 31 Ekim’de çalışmayı durdurur Kurcalama kanıtı Mühürlenmiş her günün Merkle kökü, aşağıdaki kayıtlardan az önce hesaplandı. 30 Eyl 4.120 · kök uyuşuyor 29 Eyl 3.884 · kök uyuşuyor 28 Eyl 4.509 · kök uyuşuyor 27 Eyl 1.204 · kök uyuşuyor 26 Eyl 1.096 · kök uyuşuyor Kayıtlar updated billing.invoice Ayşe Yıldırım created billing.invoice Mehmet Öztürk deleted shop.order system updated billing.invoice Ayşe Yıldırım Bu ziyaret kaydedilir ve denetlediğiniz şirket bunu görebilir.
Dönem bağlantıda değil, satırda dururAdres satırındaki tarihleri değiştiren bir denetçi, yine kendisine verdiğiniz döneme bakar. Bağlantı bir arama anahtarı ile bir sır taşır, başka hiçbir şey taşımaz.
Kanıt, kayıtlarla aynı sayfadaDönemdeki her mühürlü gün, denetçi okurken doğrulanır — Merkle kökü, tam önündeki kayıtlardan yeniden hesaplanarak. Bir excel bunu yapamaz, ekran görüntüsü de.
Tek tıkla kapatabilirsinizBunun imzalı bir jeton değil saklanan bir yetki olmasının sebebi budur. Bir denetim biter ya da bağlantı gitmemesi gereken birine ulaşır; ikisi de son kullanma tarihini beklemez.
Neye baktığını görebilirsinizHer ziyaret sayılır ve her okuma diğerleri gibi İzi kim okudu listesine düşer. "Denetçi tam olarak neyi gördü" sorusu yönetim kurullarının sorduğu ve neredeyse kimsenin yanıtlayamadığı bir sorudur.
Kapatmak silmezYetki, birinin erişimi olduğunun kaydı olarak durur. Silmek, "geçen mart bunu kim görebiliyordu" sorusunun cevabını yok ederdi.

Ayarlar → İzi kim okudu ekranından açın. Bağlantı yalnızca bir kez gösterilir, o yüzden o anda kopyalayın — tıpkı bir API anahtarı gibi ve aynı sebeple: biz onun özetini saklarız, kendisini değil.

Sırada ne okunur

Bir yerde takıldınız mı?

Şema, SDK kaynakları ve mimari notların tamamı açıktır. Bir şey belirsizse, bu bizim dokümantasyonumuzdaki bir hatadır. Bize yazın.