← Back to project catalogue
GP-CS-1BTR0TJComputer ScienceOpen for request

Privacy-aware academic credential verification

A digitally signed academic-credential system that detects tampering and allows verification without exposing unnecessary student information.

  • Nuxt
  • Vue
  • FastAPI
  • PostgreSQL
  • Python
  • Ed25519
  • Docker

Project definition

Problem statement

Academic certificates can be altered, copied, or presented without a simple way for a verifier to confirm that the issuing institution created the record and that it is still valid.

A verification system must prove integrity and issuer authenticity while avoiding publication of full student records. It must also support correction, revocation, key rotation, and a clear audit history.

Project objectives

  • Issue canonical credential records with institution-controlled digital signatures.
  • Detect any change to signed credential data.
  • Verify credentials through a short reference or QR code.
  • Return only the minimum fields required for public verification.
  • Test tampering, replay, revocation, key rotation, and access-control behaviour.

System design

System modules

01

Credential issuer

Validates authorised input, creates the canonical credential record, assigns its identifier, and records the issuing event.

02

Signature subsystem

Hashes and signs canonical data, protects private signing keys, and stores the public-key version used for verification.

03

Credential document

Generates a printable credential representation containing a verification reference and QR code.

04

Verification engine

Checks the signature, issuer key, credential status, and supplied identifier before returning approved fields.

05

Revocation and correction

Records replacement and revocation events without modifying the original signed record.

06

Audit and security tests

Tracks issuing and verification events and runs tampering, authorisation, replay, and key-rotation tests.

Methodology

System workflow

  1. 01
    Prepare credential data

    An authorised issuer validates the student and award fields required by the defined credential schema.

  2. 02
    Canonicalise and sign

    The data is converted to a deterministic representation, hashed, and signed with the active institution key.

  3. 03
    Generate the credential

    The system stores the signed record and creates a printable document with its verification reference.

  4. 04
    Verify

    A verifier scans the QR code or enters the reference. The signature and current status are checked.

  5. 05
    Return the result

    The system shows valid, revoked, replaced, or invalid status with only the approved verification fields.

Demonstration scenario

An authorised institution user issues a sample degree credential. A verifier scans its QR code and receives a valid result with limited fields. A modified copy fails signature verification. The issuer then replaces the original credential, and the old reference reports the replacement without exposing the full student record.

Engineering

Technical architecture

Web application
Nuxt and Vue interfaces for issuing, credential review, revocation, and public verification.
Application API
FastAPI for credential workflows, permission checks, signature operations, verification, and audit events.
Data layer
PostgreSQL for credential records, key versions, issuer permissions, status events, and verification logs.
Cryptography
Ed25519 digital signatures over a documented canonical credential representation with versioned public keys.
Privacy controls
Separate private credential data from the minimal public verification response and log access to restricted fields.
Delivery
Container-based setup with local development keys, a documented threat model, and a clear production key-management boundary.

Testing

Evaluation

Evaluation measures

  • Detection rate for modified credential fields and substituted signatures
  • Correct handling of valid, revoked, replaced, and unknown credentials
  • Key-rotation verification across old and new credential records
  • Public response checked against the defined minimal-disclosure policy
  • Authorisation and audit tests for issuing and status changes
  • Verification time under the prepared request workload

System boundaries

  • The project uses synthetic student and institution records.
  • It does not integrate with Aadhaar, DigiLocker, or a live university student system.
  • Local demonstration keys are not presented as production certificate-authority infrastructure.
  • The system verifies the issued digital record, not the broader identity of the person presenting it.

Included

  1. 01Credential issuing and verification interfaces
  2. 02Digital-signature, QR verification, and revocation modules
  3. 03Minimal-disclosure public verification response
  4. 04Tampering, revocation, access-control, and performance test results
  5. 05Complete source code in a private GitHub repository
  6. 06Complete project documentation with synopsis, abstract, methodology, security model, architecture diagrams, test results, screenshots, and conclusion

Project record

No buyer information is collected on this page.

Permanent project ID
GP-CS-1BTR0TJ
Catalogued
21 Aug 2026
Completed
Pending
Verified
Pending
Demonstration
Added when ready

Handover

After purchase

  1. 01
    Payment is confirmed

    The project is marked unavailable and cannot be purchased again.

  2. 02
    Repository access is granted

    The buyer's submitted GitHub account receives access to the private repository.

  3. 03
    The purchase record is delivered

    The certification sheet is prepared from the reviewed buyer details and sent privately by email.