İçeriğe geç

Denetim izi · Uyumluluk · .NET-native

Her değişiklik. Her değer. Her seferinde.

Reldavi veritabanınızdaki her değişikliği kaydeder: kim yaptı, öncesinde ne yazıyordu, tam olarak ne zaman oldu. Üstelik değişikliği yapan isteğe tek bir milisaniye bile eklemeden. NuGet paketini kurun, üç satır ekleyin; denetim iziniz kendi kendini doldurmaya başlasın.

Kredi kartı gerekmez. Ücretsiz planda ayda 100.000 olay, süresiz.

reldavi.com — Olay ayrıntısı güncellendi shop.order Sipariş A-1042 19.09.2026 14:32:07 ALAN ÖNCE SONRA Status − Beklemede + Kargoda ShippedAt + 19.09.2026 14:32 CardNumber − ************1111 + ************4242 Total − 1.249,00 + 1.099,00 TrackingNo + TR884210933 Kim Emre Şahin IP adresi 203.0.113.9 İlişki kimliği req-8f2c41 Kaynak dotnet-efcore · web-02

Denetçinin gerçekten sorduğu sorular için tasarlandı

5 dk dotnet add package komutundan ilk kayda kadar geçen süre.
0 ms İstek yolunuza eklenen süre. Yakalama katmanı hiçbir I/O yapmaz, beklemez.
4 SDK MIT lisanslı ve açık kaynak. Yakalama katmanını platformsuz da alın.
%100 Kendi sunucunuzda çalıştırılabilir. Tek compose dosyası, sizin verileriniz.

Sorun

Veritabanınız neyin değiştiğini biliyor. Size söylemiyor.

Bir satırda durum = "Kargoda" yazıyor. Kimin kargoya verdiğini, ne zaman, hangi IP'den yaptığını ya da doksan saniye öncesinde "İptal" olduğunu söylemiyor. Bir müşteri ödemeye itiraz ettiğinde, bir denetçi değişiklik geçmişi istediğinde veya bir şey ters gittiğinde ve kimsenin kime dokunduğunu bilmediği anda, eksik olan tam da bu bağlam.

Ekipler bunu kendileri yazmaya çalışır: şuraya bir trigger, buraya bir GuncelleyenKullanici kolonu, kimsenin indekslemediği bir yan tabloda JSON. İlk denetime kadar idare eder; sonra birileri bir çeyreğini bunu sunulabilir hale getirmeye harcar.

Trigger'lar görünmezdir

Veritabanı trigger'ları uygulamanızın göremediği yerde çalışır. Kişisel veriyi maskeleyemez ve kullanıcının kim olduğunu bilemez.

Yan tablolar zamanla dişlenir

İşlemsel veritabanınızdaki bir denetim tablosu, tam da ayıramayacağınız kaynak için canlı trafikle yarışır.

Log dosyası delil değildir

Uygulama logları örneklenir, döndürülür, kesilir. Denetçi yedi yıl ister; saklama politikanız on dört gün yazar.

Ürün

Verileriniz için bir zaman makinesi.

Kaydedilen her değişiklik, onu üreten önce-sonra ekranından tek tık uzakta.

Bir değişikliği pull request okur gibi okuyun.

Alan alan, eski değer karşısında yeni değer, renklendirilmiş ve ilk bakışta okunur. Gözünüzü kısarak bakacağınız bir JSON yığını yok, yeniden kurgulayacağınız bir log satırı yok. Hiç değişmemiş alanlar listede yer almaz; çünkü elli değişmemiş alanı sıralayan bir fark ekranı, gerçekten değişen tek alanı gömer.

  • — Yalnızca gerçekten değişen alanlar — aynı değeri geri yazmak hiçbir kayıt üretmez.
  • — Maskelenmiş alanlar yalnızca maskeli hâlini gösterir, orijinali asla.
  • — Kırpılan değişiklik setleri bunu kaydın içinde belirtir, sessizce alan düşürmez.
reldavi.com — Olay ayrıntısı güncellendi shop.order Sipariş A-1042 19.09.2026 14:32:07 ALAN ÖNCE SONRA Status − Beklemede + Kargoda ShippedAt + 19.09.2026 14:32 CardNumber − ************1111 + ************4242 Total − 1.249,00 + 1.099,00 TrackingNo + TR884210933 Kim Emre Şahin IP adresi 203.0.113.9 İlişki kimliği req-8f2c41 Kaynak dotnet-efcore · web-02
Zaman çizelgesi · Sipariş A-1042 Zaman çizelgesi · Sipariş A-1042 Sipariş oluşturuldu 12.09.2026 09:14 · Ayşe Yıldırım Tutar güncellendi 14.09.2026 11:02 · Mehmet Öztürk Durum → Onaylandı 17.09.2026 16:48 · Emre Şahin Durum → Kargoda 19.09.2026 14:32 · Emre Şahin Kayıt arşivlendi 19.09.2026 18:05 · system

Tek bir kaydın tüm geçmişi, sırasıyla.

Herhangi bir faturayı, siparişi veya hesabı açın; başına gelen her şeyi görün: kim oluşturdu, o günden beri hangi düzenlemeler yapıldı, kim sildi. Zaman sınırı yok — "bu kayda ne oldu" sorusu yanında bir tarih aralığıyla gelmez.

  • — Saklama süreniz ne kadar geriye gidiyorsa, kaydın tüm yaşamı.
  • — Zaman çizelgesindeki herhangi bir satırdan doğrudan fark ekranına geçin.
  • — Paylaşılabilir bağlantılar — bir bulgu, delili ile birlikte dolaşsın.

Samanlığı değil, iğneyi bulun.

Kaynağa, aktöre, işleme, ilişki kimliğine veya serbest metne göre filtreleyin; aralık ne kadar geniş olursa olsun. Sonuçlar tam da bu soru biçimi için tasarlanmış sütunsal bir veritabanından gelir; canlı iş yükünüzle boğuşan bir tablodan değil.

  • — Kim, ne, ne zaman, hangi proje ve hangi istek — hepsine göre filtre.
  • — Türkçe duyarlı büyük-küçük harf araması: “İstanbul” ile “istanbul” eşleşir.
  • — İmleç tabanlı sayfalama — ellinci sayfa, birinci sayfa kadar hızlı.
Denetim izi Denetim izi Başlangıç 01.09.2026 Bitiş 19.09.2026 Kaynak türü shop.order Aktör Tümü Uygula Temizle NE ZAMAN İŞLEM NE KİM DEĞİŞİKLİK güncellendi 19.09 14:32 shop.order Sipariş A-1042 Emre Şahin 2 oluşturuldu 19.09 13:58 billing.invoice Fatura INV-8821 Ayşe Yıldırım 5 güncellendi 19.09 11:20 shop.order Sipariş A-1039 Mehmet Öztürk 1 silindi 19.09 10:05 identity.user Kullanıcı U-204 system 7 güncellendi 18.09 17:44 billing.invoice Fatura INV-8814 Zeynep Çelik 3 oluşturuldu 18.09 16:12 shop.order Sipariş A-1038 Can Demir 6

Entegrasyon

Üç satır. Sonrası kendiliğinden.

.NET SDK'sı EF Core'un kayıt hattına bağlanır. Neyin önemli olduğunu işaretlersiniz; o andan itibaren her ekleme, güncelleme ve silme kendini kaydeder.

Paketi kurun

Tek bir dotnet add package. .NET 8 ve .NET 10'u birlikte destekler; önce sürüm yükseltmek zorunda değilsiniz.

Bağlayın

İstemciyi kaydedin, interceptor'ı DbContext'inize ekleyin, mevcut kullanıcıyı sağlayan middleware'i devreye alın.

Hassas alanları işaretleyin

Öznitelikler neyin kaydedileceğine, neyin yok sayılacağına ve neyin daha süreciniz içindeyken maskeleneceğine karar verir.

Entegrasyonun tamamı bu. Şema migrasyonu yok, trigger yok, iş mantığınızda değişiklik yok.

// 1 · Install
dotnet add package Reldavi.EntityFrameworkCore
dotnet add package Reldavi.Client

// 2 · Program.cs
builder.Services.AddReldaviClient(options =>
{
    options.Endpoint = new Uri("https://ingest.reldavi.com");
    options.ApiKey   = builder.Configuration["Reldavi:ApiKey"]!;
});

builder.Services.AddReldaviEntityFrameworkCore(options =>
    options.MaskHashSecret = builder.Configuration["Reldavi:MaskSecret"]);

builder.Services.AddDbContext<ShopDbContext>((sp, options) => options
    .UseNpgsql(connectionString)
    .UseReldavi(sp));

// 3 · After authentication, so changes are attributed to a real user
app.UseAuthentication();
app.UseReldavi();

Performans

Sizi yavaşlatması mümkün olmayan bir denetim katmanı.

Yakalama yolu hiçbir ağ çağrısı yapmaz, kilit almaz, beklemez. Tampon dolduğunda yükü atar ve bunu size söyler — çünkü denetim hattının kötü bir günü, asla sizin ödeme akışınızın kötü günü hâline gelmemeli.

Sizin altyapınız Uygulamanız EF Core interceptor Tampon Bellekte, sınırlı Veri alımı Toplu, gzip'li Olay deposu Sütunsal, sıkıştırılmış Maskeleme burada yapılır Buradan sonrası istek yolunuzda değildir

İş parçacığınızda I/O yok

Yakalama, bellek içi bir tampona yazar ve döner. Her ağ çağrısı arka plandaki gönderici tarafından yapılır.

Sessizce değil, gürültüyle bozulur

Yakalama hatası loglanır ve yutulur; işleminize asla fırlatılmaz. Düşen olaylar sayılır, böylece alarm kurabilirsiniz.

Geri alınan işlem iz bırakmaz

Olaylar yalnızca işleminiz commit edildikten sonra yayınlanır. Başarısız bir kayıt hiçbir şey yazmaz — olması gerektiği gibi.

Toplu ve sıkıştırılmış

Olaylar paketler hâlinde, gzip'lenerek gönderilir. Denetim JSON'u çok tekrarlıdır ve yaklaşık on kat sıkışır.

Ve işte sayı

Bir olayı yakalamak çağıran iş parçacığına 99. yüzdelikte yaklaşık iki mikrosaniyeye mal oluyor — kodunuzun kendi işlemi içinde yaptığı çağrı; teslimat değil, o daha sonra arka plan iş parçacığında oluyor. Bunu ölçen araç depoda build/loadtest.sh olarak duruyor; yani rakamı bir tanıtım sayfasından almak yerine kendi donanımınızda çalıştırabilirsiniz. Sayı bir büyüklük mertebesi kayarsa derlemeyi de düşürüyor — yakalanmaya değer gerileme zaten bu: birinin yakalamayı eşzamanlı hâle getirmesi.

Zero-PII

Hassas değerler sunucularınızdan hiç çıkmaz.

Maskeleme, henüz hiçbir şey tamponlanmadan, sizin sürecinizin içinde gerçekleşir. Bize hiç ulaşmamış bir veriyi sızdırmamız mümkün değildir.

Bir alanı [AuditMask] ile işaretlediğinizde Reldavi değerin kendisi yerine bir izdüşümünü kaydeder: kartın son dört hanesi, TCKN'nin geri döndürülemez ama aranabilir kalan anahtarlı özeti, ya da tamamen gizlenmiş bir parola. Orijinal değer tampona hiç yazılmaz, hatta seri hâle getirilmez ve depolamamıza asla ulaşmaz.

Güvenlik dokümanını okuyun

UYGULAMANIZDA BİZE ULAŞAN 4242 4242 4242 4242 ************4242 12345678901 sha256:9f2b1c74a0e8… emre@contoso.com e***@contoso.com P@ssw0rd! ***

Uyumluluk

Hangi yükümlülüğü karşılıyorsunuz?

Değişiklik geçmişini iyi bir alışkanlıktan, size ceza kesilebilecek bir zorunluluğa çeviren beş kural. Yapay zekâ mevzuatının istediği ajan kaydı dahil, beşi de bugün çalışıyor.

KVKK

İşleme kayıtları, saklama süreleri ve imha. Maskeleme kaynakta olur, veri Türkiye’de ya da doğrudan kendi sunucunuzda kalabilir.

KVKK imha tutanağı

Her imha, imha ettiği günlerin Merkle köklerini taşıyan numaralı bir tutanak üretir. Çünkü imhayı ispat etmek belgesel bir yükümlülüktür ve rehber, belgenin yokluğunu imhanın hiç yapılmadığına karine sayar.

GDPR

Madde 30 işleme kayıtları ve Madde 17 silme; tasarımdan veri minimizasyonu — SDK yalnızca işaretlediğiniz alanları kaydeder.

EU AI Act, Madde 12

2 Ağustos 2026’dan beri yürürlükte: yüksek riskli yapay zekâ sistemleri olayları otomatik kaydetmek, Madde 26 uyarınca kullananlar da bu kayıtları en az altı ay saklamak zorunda.

GoBD (Almanya)

Alman vergi hukukunda bunun bir adı var: Revisionssicherheit. Kayıtlar eksiksiz, kimin yaptığına kadar izlenebilir, yazıldıktan sonra değiştirilemez ve on yıl okunabilir olmalı — ve bir denetçi bunları makine tarafından okunabilir bir dışa aktarım olarak isteyebilir. Mühürlü günlük kökler, “değiştirilemez” iddiasını bir sağlayıcının sözü olmaktan çıkarıp birinin kontrol edebileceği bir şeye çevirir; dışa aktarım ise yanında özetleriyle birlikte CSV veya NDJSON’dur.

SOC 2 ve ISO 27001

Aktör atıflı değişiklik geçmişi, hiçbir şeyin düzenleyemediği kayıtlar, tanımlı saklama süresi ve dışa aktarılabilir kanıt.

Dilden bağımsız

.NET servisiniz tek servisiniz değil.

Veri alım sözleşmesi yayımlanmış bir JSON Schema'dır. Tüm istemciler aynısını uygular; böylece bir Go worker'ı ve bir Python görevi, ASP.NET API'nizle aynı zaman çizelgesine düşer.

.NET

EF Core interceptor ile otomatik yakalama. Elle çağıracağınız bir şey yok.

Node.js

Sıfır bağımlılık, derleme adımı yok. diff() yardımcısı dahil.

Python

Çalışma zamanı bağımlılığı yok — istemci standart kütüphaneyle HTTP konuşur.

Go

Yalnızca standart kütüphane. Tamponlu bir kanal ve tek bir arka plan göndericisi.

Her SDK aynı şeyi garanti eder: yakalama bloklamaz, hata fırlatmaz, tamponlamadan önce maskeler ve kapanışta tamponu boşaltır. Dördü de MIT lisanslı; yani yakalama katmanı, platformu alsanız da almasanız da sizin.

Gerçekten aynı şeyi söylediklerini de kontrol ediyoruz

Tek bir veri biçiminin dört ayrı uygulaması, kimsenin fark etmediği biçimde birbirinden uzaklaşır: birinde farklı yazılmış bir alan adı, saat dilimi taşımayan bir zaman damgası, Latin-1 kodlanmış bir gövde. Bu da tam olarak ikinci servisi bağladığınız gün, sizin entegrasyonunuzda ortaya çıkar. Bu yüzden her derlemede dört SDK da gerçek bir alım uç noktasına gerçek bir soket üzerinden aynı olayı gönderir ve kayıt gerçek sorgu API’sinden geri okunur. Tek bir beklenen satır, dört dil. Araç zinciri bulunmayan bir dil geçti diye değil, denetlenmedi diye raporlanır.

Kurulum

Bizim sunucumuz ya da sizinki. Aynı ürün.

Reldavi Cloud

İşletmesi bizde. Size bir uç nokta ve bir panel; ölçekleme, güncelleme ve yedekleme bizde.

  • — Dakikalar içinde hazır
  • — Yönetilen saklama ve arşivleme
  • — Bölgesel veri ikametgâhı

Kendi sunucunuzda

Tek bir compose dosyası tüm yığını kendi altyapınızda ayağa kaldırır. Hiçbir bileşen dışarı bağlanmaz.

  • — Sabit fiyat, sınırsız olay
  • — Sizin ağınız, sizin yedekleriniz
  • — İnternetsiz ortama uygun — CDN yok, dış font yok

Fiyatlandırma

Kişi başına değil, olay başına.

Denetim kaydı bir altyapıdır; ekibiniz büyüdü diye pahalanmamalı. Her planda sınırsız kullanıcı, panelin tamamı ve bütün SDK’lar var.

Ücretsiz

$0/ay

Ayda 100.000 olay

Takım

$49/ay

Ayda 2.000.000 olay

İşletme

$199/ay

Ayda 10.000.000 olay

Kurumsal

$899+/ay

Ayda 50.000.000+ olay

Fiyatlandırma

Bugün kaydetmeye başlayın. Denetimi gelecek yıl kolayca geçin.

Ayda 100.000 olaya kadar süresiz ücretsiz. Kredi kartı yok, satış görüşmesi yok.

Ya da bunu kimin geliştirdiğini ve neyi yapmayı reddettiğini okuyun.