apps/gateway/src/services/audit.ts
Metadata
- Purpose: Gateway service module implementing business logic or integrations.
- Domain:
applications - Language:
ts - Bytes: 775
- Lines: 27
- Content hash (short):
a280a994 - Source (start): apps/gateway/src/services/audit.ts:1
- Source (end): apps/gateway/src/services/audit.ts:27
Indexed Symbols
buildAuditCredential(line 5, function) - Implements build audit credential for service-layer operations.
Markdown Headings (if applicable)
No markdown headings detected.
Source Preview
import { createHash, createHmac, randomUUID } from "node:crypto";
import type { AuditCredential } from "@anchor/contracts";
import { env } from "../config/env.js";
export function buildAuditCredential(
workspaceId: string,
executionId: string,
correlationId: string,
payload: unknown
): AuditCredential {
const serialized = JSON.stringify(payload);
const hash = createHash("sha256").update(serialized).digest("hex");
const signature = createHmac("sha256", env.auditSigningSecret).update(`${env.auditSigningKeyId}:${hash}`).digest("hex");
return {
id: randomUUID(),
workspaceId,
executionId,
correlationId,
algorithm: "hmac-sha256",
keyId: env.auditSigningKeyId,
hash,
signature,
issuedAt: new Date().toISOString()
};