Moonborn — Developers
Marka ekipleri için audit trail
Persona mutasyonları, refine aksiyonları ve config edit'leri için immutable audit log'u oku. Hash zincirini doğrula.
Marka yönetişimi sıklıkla "kim neyi ne zaman değiştirdi"e ihtiyaç duyar. Moonborn'un audit log'u cevap — hash-zincirli, immutable, export'lanabilir.
Son event'leri oku
const events = await client.audit.listEvents({
workspaceId: 'ws_...',
category: 'persona',
limit: 50,
});
for (const e of events) {
console.log(e.occurredAt, e.actor.email, e.action, e.target.id);
}Kategoriler persona, config, rbac, billing, webhooks içerir.
Marka QA için: persona create / refine / fork / archive'i kapsar.
Actor'a göre filtrele
const events = await client.audit.listEvents({
workspaceId: 'ws_...',
actorUserId: 'user_...',
limit: 100,
});Hash zincirini doğrula
Her satır hash = sha256(payload || previous_hash) saklar. Zinciri
export et + lokal doğrulama çalıştır:
const exp = await client.audit.export({ workspaceId: 'ws_...' });
// Lokal doğrula:
let expected = exp.seed;
for (const e of exp.events) {
const computed = sha256(JSON.stringify(e.payload) + expected);
if (computed !== e.hash) throw new Error('Tamper at ' + e.id);
expected = e.hash;
}Retention
- 1 yıl (Pro/Team), 7 yıl (Enterprise),
privacy.retention.audit_log_yearsüzerinden. - Plan'ın izninde workspace başı override.
Tarif
Audit log: her tier. Export + hash-zinciri doğrulama: Team ve üstü.