UNPKG

@safeapi/safeapi

Version:

SafeAPI: Secure, deterministic, and tamper-resistant API policy engine for Node and browser.

23 lines (22 loc) 1.04 kB
export function renderReplay(auditPayload) { const { meta } = auditPayload; const safeApi = meta?.safeApi || {}; const { guardTrace = [], policyHash, result } = safeApi; let out = ""; out += `Policy Hash: ${policyHash || "unknown"}` + "\n"; out += `Guard Execution:` + "\n"; for (const guard of guardTrace) { out += `├── [${guard.guardId}] match: ${guard.matched ? "TRUE" : "FALSE"} effect: ${guard.effect.toUpperCase()}\n`; for (const cond of guard.evaluatedConditions) { out += `│ ├── condition: ${cond.field} ${cond.operator} ${JSON.stringify(cond.value)} ${cond.matched ? "✅" : "❌"}\n`; } } out += `Final Decision: ${result === "allow" ? "✅ ALLOWED" : "❌ DENIED"}\n`; if (guardTrace.length > 0) { const matchedGuard = guardTrace.find((g) => g.matched); if (matchedGuard) { out += `Reason: ${matchedGuard.guardId} (${matchedGuard.effect.toUpperCase()} matched)` + "\n"; } } return out; }