Bir restoran zinciri denetlendiğinde sorulan ilk soru şudur: "Bu kayıt ne zaman, kim tarafından, hangi sebeple değiştirildi?" Yanıt veremiyorsanız, en mükemmel finansal tabloyla bile uyumlu sayılmazsınız. Dijital denetim izi (audit trail) işte bu soruyu cevaplar.
Gastrolie'de her veri değişikliği — bir satış kaydı, bir personel saatinin düzeltilmesi, bir reçete maliyetinin güncellenmesi — ayrı bir audit_log satırı olarak eklenir. Eski değer silinmez, yeni değer üzerine yazılmaz. Sadece zaman çizelgesi genişler.
İki temel sütun
- Who/What/When/Why: Kullanıcı kimliği, mutasyon tipi, zaman damgası, kısa açıklama — her satırda zorunlu.
- Immutable append-only: Log kayıtları değiştirilemez, silinemez. Veri tabanı seviyesinde PostgreSQL triggers ile korunur.
GoBD §146 Almanya'da mali kayıtlar için bu modeli zorunlu kılar. GDPR ise kişisel verinin silinmesini ister — peki audit trail korunurken kişisel veri nasıl silinir? Cevap: verinin kendisi anonimleştirilir (örn. "Jan Schmidt" → "user_8374"), ancak denetim izi değişmeden kalır. İki yasayı birlikte karşılamanın tek yolu budur.