PII temizleme

Log'lar kişisel veri toplamanın en kolay yoludur: kimse "TCKN'yi loglayalım" demez, ama bir istisna mesajı istek gövdesini olduğu gibi taşır. Errorbird bu yüzden temizlemeyi varsayılan olarak açık getirir — KVKK uyumu, kullanıcının bir ayarı bulup açmasına bırakılamaz.

İki katman

1. Alan adı kara listesi

Metadata içindeki şu adlarda gelen alanların değeri hiç saklanmaz:

password, passwd, pwd, secret, token, accesstoken, refreshtoken,
apikey, api_key, authorization, auth, cookie, sessionid,
creditcard, cardnumber, cvv, iban, tckn, tcknumber

Neden ayrı bir katman? Çünkü bir parola rastgele bir dizedir ve hiçbir desene uymaz. Desen eşleşmesine güvenmek, parolaları olduğu gibi saklamak demektir.

2. Desen tabanlı maskeleme

Serbest metinde (mesaj ve stack trace dahil) şu kalıplar maskelenir:

Kalıp Yerine yazılan
Kredi kartı numarası [kart]
IBAN [iban]
TCKN (11 hane, algoritma doğrulamalı) [tckn]
E-posta [eposta]
Telefon [telefon]

Sıra dardan genişe uygulanır: telefon kalıbı önce çalışsaydı kart numarasını parçalara böler ve kart maskelemesi hiç eşleşmezdi.

Maskeleme geri döndürülemez

Değer kısaltılıp etiketle değiştirilir; hash'lenmez. Hash'lenmiş bir TCKN hâlâ kişisel veridir: 11 haneli bir sayı uzayı kaba kuvvetle dakikalar içinde taranır. "Sonradan lazım olursa çözeriz" ihtiyacı, log sisteminin değil kendi uygulamanızın çözmesi gereken bir sorundur.

Proje bazlı ek kurallar

Kendi hassas kalıplarınızı ekleyebilirsiniz (müşteri numarası, poliçe numarası, iç sistem kimlikleri):

{
  "Errorbird": {
    "Pii": {
      "AdditionalPatterns": ["POL-[0-9]{8}", "MUS-[A-Z]{2}[0-9]{6}"]
    }
  }
}

Eşleşen değerler [maskeli] ile değiştirilir. Düzenli ifadeler 100 ms zaman aşımıyla çalışır: kötü yazılmış bir desen (catastrophic backtracking) ingest hattını durdurmaz.

Temizleme ne zaman çalışır?

Olay kuyruğa yazılmadan önce, API sürecinde. Böylece maskelenmemiş değer Redis'e de veritabanına da hiç ulaşmaz. Kuyruğa yazdıktan sonra temizlemek, Redis kalıcılığı (AOF) açık olduğu için ham kişisel veriyi diske yazmak olurdu.

Kapatmak

{ "Errorbird": { "Pii": { "Enabled": false } } }

Yalnızca kişisel veri içermediğinden emin olduğunuz kurulumlar için. Kapatma kararı denetim izine düşmez — bu bir yapılandırma değişikliğidir; kurulumun yapılandırma yönetimiyle izlenmesi gerekir.