Skip to content

feat: implement embeddable SVG badges, credential revocation, and audit logging (Phase 4) - #3

Merged
ashishsinghbora merged 2 commits into
mainfrom
feat/credentials-and-revocation-lifecycle
Sep 25, 2026
Merged

ashishsinghbora merged 2 commits into
mainfrom
feat/credentials-and-revocation-lifecycle

Conversation

@ashishsinghbora

Copy link
Copy Markdown
Contributor

What changed

  • Built dynamic SVG badge generation endpoint (/api/badges/credential/[id]/badge.svg) allowing contributors to embed verifiable proof of work on their GitHub profile README.
  • Added copyable GitHub Markdown badge snippet component to the public credential verification page (/verify/[id]).
  • Implemented secure administrative credential revocation API at /api/admin/credentials/revoke with mandatory reasoning and audit logging to the audit_logs table.
  • Added administrative revocation modal and action on the verification page for authorized admins.
  • Added visible revocation banner and rationale display for revoked credentials.
  • Added comprehensive unit and integration tests for SVG badge generation, width calculations, and credential revocation audit logging.

Verification

  • Vitest: 11/11 test suites, 32/32 tests passing.
  • TypeScript tsc --noEmit: 0 errors.
  • ESLint: 0 errors, 0 warnings.
  • Production build: all 14 routes compiled and optimized.

@ashishsinghbora
ashishsinghbora merged commit f721727 into main Sep 25, 2026
1 check passed
@ashishsinghbora
ashishsinghbora deleted the feat/credentials-and-revocation-lifecycle branch September 25, 2026 18:28
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.

1 participant