Skip to content

feat(backend): add cryptographic signature verification to Audit Logger#1011

Merged
emdevelopa merged 2 commits into
emdevelopa:mainfrom
emmanuelStack654:feature/be-add-cryptographic-signature-verification-to-audit-logger
Jun 26, 2026
Merged

feat(backend): add cryptographic signature verification to Audit Logger#1011
emdevelopa merged 2 commits into
emdevelopa:mainfrom
emmanuelStack654:feature/be-add-cryptographic-signature-verification-to-audit-logger

Conversation

@emmanuelStack654

Copy link
Copy Markdown
Contributor

closes #903

This pull request introduces cryptographic signature verification and payload integrity checks to the Audit Logger module. By enhancing the data retrieved during audit log queries, the platform can now dynamically verify that none of the log parameters have been altered since they were originally written. This verification process serves as a robust defense against log-tampering and enhances the platform's security auditing capabilities.

To accomplish this, the database query inside getAuditLogs has been expanded to fetch the merchant_id, status, payload_hash, and signature fields. A validation pipeline has been integrated into the service layer that reconstructs the canonical audit log payload—distinguishing between login attempts and general events—and compares its SHA-256 hash against the database's record. Furthermore, if an audit signing secret is configured, the system performs a constant-time HMAC-SHA256 signature verification to prevent timing-oracle attacks. Both verification results are exposed to the calling application via hash_verified and signature_verified boolean properties.

Additionally, the vitest suite in auditService.test.js has been updated with mocked verification routines to cover these new execution paths. Test cases verify that matching signatures and hashes evaluate to true, tampered logs report false, and legacy logs (which lack signatures or were created before a signing key was defined) gracefully report null without throwing runtime exceptions. This change satisfies the security audit recommendations, preserves indexing performance, and links directly to issue #769.

@vercel

vercel Bot commented Jun 25, 2026

Copy link
Copy Markdown

@emmanuelStack654 is attempting to deploy a commit to the Emmanuel's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jun 25, 2026

Copy link
Copy Markdown

@emmanuelStack654 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@emdevelopa emdevelopa merged commit bf0ade9 into emdevelopa:main Jun 26, 2026
1 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Backend] Add cryptographic signature verification to Audit Logger

2 participants