PDFVerify is a web app for verifying digitally signed PDF documents, especially Indian government and institutional eSigned files. It helps users quickly determine whether a PDF is authentic, intact, and trusted by checking the signature, certificate chain, and document integrity.
- Upload a PDF directly or import it from a public link
- Detect whether the document contains a digital signature
- Verify cryptographic signature validity
- Check certificate trust against known Indian Certifying Authorities
- Detect whether the document was modified after signing
- Generate a stamped output PDF and a structured verification report
- Simple, user-friendly verification flow
- Private-by-default processing for uploaded files
- Support for PDF-only documents up to 20 MB
- Clear verdicts such as Verified, Invalid, Untrusted, Expired, or No Signature
- Downloadable proof output for sharing and recordkeeping
- React + TypeScript
- TanStack Start + Vite
- Tailwind CSS
- PDF.js-style PDF handling via pdf-lib and PKIJS-based signature verification
- Shadcn UI components
- Node.js 20+
- Bun (recommended) or npm
bun installgit clone <your-repo-url>
cd PDFVerify
bun install
bun run devThen open the local development URL shown in the terminal.
bun run buildbun run lint- Open the app in your browser.
- Upload a signed PDF or paste a direct download link.
- Wait for the verification pipeline to complete.
- Review the result and download the stamped PDF or report.
This tool is intended as an assistive verification solution. It is not a legally binding certification service. For official verification, use the signature panel in Adobe Acrobat or the relevant Certifying Authority utility.
- src/components: UI pages and reusable interface components
- src/lib: verification logic, PDF stamping, trust-store handling, and server helpers
- src/routes: TanStack route-based application structure
Contributions are welcome. If you want to improve the validator, add new features, or improve trust handling, feel free to open an issue or submit a pull request.