@safeapi/safeapi
Version:
SafeAPI: Secure, deterministic, and tamper-resistant API policy engine for Node and browser.
23 lines (22 loc) • 1.04 kB
JavaScript
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;
}