import crypto from "node:crypto"; export function sha256HexPrefix(value: string, len = 12): string { const safeLen = Number.isFinite(len) ? Math.max(1, Math.floor(len)) : 12; return crypto.createHash("sha256").update(value).digest("hex").slice(0, safeLen); } export function redactIdentifier(value: string | undefined, opts?: { len?: number }): string { const trimmed = value?.trim(); if (!trimmed) { return "-"; } return `sha256:${sha256HexPrefix(trimmed, opts?.len ?? 12)}`; }