Built to order

E-Signature Document Portal with Audit Trail

This project builds an e-signature document portal where PDFs are uploaded, signature fields are placed by drag-and-drop, signers are invited in a sequential order, and every view, signature and reminder is recorded in a tamper-evident audit trail. Each signed version is hashed with SHA-256 and chained to the previous hash, so any post-signature edit breaks the seal — the core integrity idea behind real signing platforms, implemented from scratch. The hash-chain design and signing workflow are documented for a confident viva. Suitable for B.E./B.Tech final-year projects in Computer Science,

E-Signature Document Portal with Audit Trail — project thumbnail preview
More project photos (2)

The problem

Internships, freelance agreements and vendor NDAs all need signatures, but emailing PDFs back and forth is slow, untraceable and trivially forgeable — anyone can paste a signature image onto a page. Real e-signature platforms solve this with two mechanisms students rarely implement: an ordered signing ceremony (each signer is notified in turn, with identity checks) and a tamper-evident audit trail where every event is hash-chained to the last. This project builds both: upload a PDF, drag signature and date fields onto pages, invite signers in sequence, let them draw or type signatures, and download a sealed PDF plus an audit certificate. The audit log records IPs, timestamps, user agents and per-version document hashes.

How it works

  1. The sender uploads a PDF; the server stores the original and records its SHA-256 as the envelope's genesis hash.
  2. Signature fields are placed on pages via drag-and-drop; each field is assigned to a signer with coordinates, page and type.
  3. The sender defines the signing order and sends the envelope; signer 1 receives a secure link (JWT, single-use token per signer).
  4. The signer opens the document, clicks their field, and draws or types a signature, which is rasterized and composited onto the PDF page.
  5. On signing, the server hashes the new document version, chains it to the previous hash, and appends a signed event to the audit log with IP, timestamp and user agent.
  6. The next signer is notified automatically; reminders fire on the configured schedule until they sign or decline.
  7. When all signers complete, the sealed PDF and audit certificate are generated and emailed to all parties.

Tech stack:

  • Node.js + Express (portal + signing API)
  • pdf-lib (PDF field compositing)
  • PostgreSQL (envelopes, events, hash chain)
  • SHA-256 hash-chained audit log
  • Nodemailer (invites, reminders, certificates)
  • JWT single-use signer tokens
  • Docker + docker-compose
Parameter Value
Signers per envelope Approximately 20 (design target)
Audit events Immutable, hash-chained, exportable (design target)
Hash algorithm SHA-256 per document version + per event (design target)
Signature capture Draw (pointer) or typed script rendering (design target)
Reminder schedule Configurable, default 24 h nudge (design target)
Sealed PDF Signatures embedded + verification page (design target)
Token security Single-use JWT signer links, expiring (design target)
Deployment Docker compose: app + PostgreSQL (design target)

Project features

  • [PDF upload and field placement] Upload a PDF and drag signature, initial, date and text fields onto any page with pixel positioning.
  • [Sequential signing order] Signers are invited in a defined order; each is notified only when their turn arrives, with automatic reminders.
  • [Draw or type signatures] Signers draw with mouse/touch or type a name rendered in script typeface — embedded as tamper-evident images.
  • [Hash-chained audit trail] Every event (view, sign, reminder, download) is logged with a SHA-256 hash chained to the previous event's hash.
  • [Sealed PDF] The completed document embeds all signatures plus a verification summary page; any later edit invalidates the recorded hash.
  • [Audit certificate] One-click PDF certificate listing the full event timeline, signer identities, IPs and hashes.
  • [Decline and void flows] Signers can decline with a reason; senders can void an in-flight envelope, all recorded in the trail.
  • [Verification view] Anyone can re-check a sealed document: hash chain intact, signatures valid, document unaltered.

What is included

  • Signing portal (upload, field placement, envelope dashboard)
  • Signer ceremony pages with draw/type signature pad
  • Hash-chained audit trail with certificate export
  • Sealed-PDF generator with verification summary
  • Email flows: invites, reminders, completion, decline/void
  • Project report PDF (hash-chain design, ceremony workflow, threat model, methodology, results)
  • PPT presentation for final review
  • Viva Q&A preparation document (hash chains, PDF signing, token security, legal context)

Limitations & prerequisites

  • This is an educational implementation, not legal advice: e-signature validity varies by jurisdiction (in India, the IT Act 2000 recognizes electronic signatures with conditions the report outlines).
  • Integrity uses SHA-256 hash chaining, not certificates from a licensed Certifying Authority — the report explains the difference honestly.
  • Identity verification is email-link plus optional OTP; there is no government-ID or video-KYC check.
  • Very large PDFs (hundreds of pages) slow the field-placement UI; the demo targets documents under ~50 pages.
  • The demo stores documents on local disk; production deployments need encrypted object storage, documented as a configuration step.
  • Bulk-send (one document to many independent signers) is future scope; envelopes are one signing ceremony each.

Frequently Asked Questions

How does the audit trail prove nobody tampered with the document?

Every event and every signed document version is hashed with SHA-256, and each hash includes the previous hash — a chain. Change one byte of an old version and its hash changes, which breaks every later link. The verification view recomputes the chain to prove integrity.

Is a drawn signature on screen legally valid?

It depends on jurisdiction and document type. The project documents the Indian IT Act 2000 context honestly: the build demonstrates the technical ceremony and integrity mechanisms; it does not claim to replace licensed digital-signature certificates.

What stops someone from signing with another person's link?

Signer links are single-use JWTs bound to the invited email, with expiry; the audit log records IP, device and timestamp per signature, and a new-device view triggers an OTP check before signing is allowed.

What happens if a signer declines?

The envelope moves to declined with the recorded reason, all parties are notified, and the full history stays in the audit trail — nothing is silently deleted.

Can I see who viewed but didn't sign?

Yes — document views are audit events too, so the sender sees exactly when each signer opened the envelope.

Is this project suitable for a final-year project?

Yes — for Computer Science, IT and Web Development programs. It demonstrates applied cryptography concepts, state-machine workflow design, PDF manipulation and security-aware engineering. Suitable for B.E./B.Tech final-year projects in Computer Science, IT and Web Development.

Components & software requirements
  • Node.js + Express (portal + signing API)
  • pdf-lib (PDF field compositing)
  • PostgreSQL (envelopes, events, hash chain)
  • SHA-256 hash-chained audit log
  • Nodemailer (invites, reminders, certificates)
  • JWT single-use signer tokens
  • Docker + docker-compose
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download abstract (PDF)

Related guides

All guides
Technical illustration of a cloud server pushing event envelopes outward to web application endpoints for payments, dashboards and chat.Web development and IoT students who have built a REST API or an ESP32 project and now need external services (payments, GitHub, messaging) to notify their app when things happen

Webhooks Explained: Receive Data from Payments, GitHub and IoT

A webhook lets a service call your server the moment an event happens — payments, code pushes, form submissions. This guide explains the event anatomy, HMAC signature verification, the fast-acknowledge reliability pattern, local testing, and how webhooks compare with polling, WebSockets and SSE.

Read guide
Illustration of Docker Compose orchestrating a full-stack application with frontend, API, database, and cache containers connected in one network.B.E./B.Tech Computer Science and IT students whose full-stack projects need a frontend, backend, and database running together and are tired of setup instructions that only work

Docker Compose for Full-Stack Projects

Stop juggling four terminals and setup docs that only work on your laptop. This guide builds a complete Docker Compose stack — frontend, API, database, cache — with annotated config, healthchecks, persistent volumes, and a dev/prod split that survives demo day.

Read guide
Illustration of a web page with a comment section: a shield filtering user input so scripts are neutralized into harmless text before rendering in visitors' browsers.B.E./B.Tech Computer Science, IT and Web Development students building web applications with user-generated content: comments, profiles, forums, dashboards

XSS Attacks Explained for Students

Cross-site scripting turns your comment section into code running in visitors' browsers. Learn the three XSS types conceptually, why browsers execute injected input, what it enables, and the defender's toolkit: output encoding, Content Security Policy, safe DOM handling, and hardened cookies. No payloads — prevention only.

Read guide
Get a quotation