Audit log sirf ek list nahi, ek tamper-evident chain hai. Har entry me: actor (clinic side par userId, platform-admin actions par performedBy — viewer dono ko ek hi "actor" column me dikhata hai), action, entity aur entityId, details (string bhi ho sakta hai aur object bhi — before/after wala poora shape, isliye kuch bhi "[object Object]" ban kar nahi katta), IP, branchId aur timestamp. Iske upar hash-chain hai: har row apne se pehli row ke selfHash + apne content ka SHA-256 store karti hai (sabse pehli row ka prevHash "GENESIS" hota hai), aur chainSeq ek badhta hua counter hai. Iska matlab — koi purani entry edit ya delete karega to us jagah chain toot jayegi aur verifyAuditChain() use pakad legi; chainSeq ke gaps hash forge karne par bhi dikh jaate hain. Isliye audit log ko "history dekhne" ka feature mat samjho, wo sabooot hai.
Audit log me kya kya record hota hai — kya use badla ja sakta hai?
Har row me kaun (user), kya (action), kis cheez par (entity + id), kya badla (details), kab, kahan se (IP) aur kaunsi branch — aur poori chain SHA-256 se jud hui hai, isliye chhed-chaad pakdi jaati hai.
Where in ORALZY: Setup → Audit log (super-admin ke actions bhi isi stream me)
Quick steps
- Setup → Audit log kholo
- Actor / action / entity se filter karo
- Kisi row par details kholo — before/after wahin dikhta hai
- Chain verify karna ho to verifyAuditChain() chalta hai