SignPeek ✅

SignPeek ✅
signpeek.niaros.dev
View:
SignPeek is a fast, privacy-focused web application for instantly previewing digitally signed documents and exploring cryptographic containers directly in your browser. It is designed to make working with signed files simple: drop a file, inspect its contents and signatures, and preview the embedded documents without uploading anything to a server.
Repository
Demo page

Features

✔Digital Signature Support: Works with CAdES binary signatures (`.p7s`, `.p7m`) and XAdES XML signatures.
✔Certificate Analysis: Extracts signer information, organization, certificate authority, and certificate validity data from ASN.1 structures.
✔Container Inspection: Displays signed containers and their embedded files in an interactive hierarchical tree.
✔Recursive Extraction: Handles nested containers and archives, including signed containers stored inside ZIP archives.
✔ASiC Support: Supports ASiC-E and ASiC-S signed containers used by European and Ukrainian electronic signature systems.
✔Smart Export: Download individual files from a container or export the complete container contents as a ZIP archive.
✔Document Preview: Preview PDF, Word (`.docx`), and spreadsheet files (`.xlsx`, `.xls`, `.csv`) directly in the browser.
✔Image Preview: Supports common image formats as well as HEIC and TIFF files.
✔Interactive Viewers: Includes zooming, panning, page rotation, and other viewer controls.
✔Drag & Drop: Quickly open files by dropping them directly into the application.
✔Local Processing: Files are processed entirely in the browser and are not uploaded to a backend server.
✔Responsive Interface: Designed to work across desktop and mobile screen sizes.
✔PWA Support: The application can be installed and used as a Progressive Web App.

Technologies Used

React
Vite
TailwindCSS
JavaScript
GitHub Pages

Project Structure

SignPeek/
├── 📁 public/                   # Static assets and public files
├── 📁 src/                      # Application source code
│   ├── 📁 components/           # UI and application components
│   ├── 📁 hooks/                # Custom React hooks
│   ├── 📁 utils/                # File and cryptography utilities
│   ├── 📄 App.jsx               # Main application component
│   ├── 📄 global.css            # Global styles
│   └── 📄 main.jsx              # Application entry point
├── 📄 index.html                # HTML entry point
├── 📄 eslint.config.js          # ESLint configuration
├── 📄 package.json              # Project dependencies and scripts
├── 📄 pnpm-lock.yaml            # Dependency lockfile
├── 📄 pnpm-workspace.yaml       # pnpm workspace configuration
└── 📄 vite.config.js            # Vite configuration