You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Privacy-first security and developer utilities — entirely in your browser.
No backend, no analytics, no tracking. All cryptographic operations happen locally.
RFC 4648 Base32 (TOTP secrets), Standard & URL-safe Base64, full UTF-8/emoji support.
Code Beautifier
Format or minify JSON (with loose-parse fallback), XML, HTML, and SQL queries locally.
Code Diff & Comparer
2-way and 3-way side-by-side diffs using the Myers O(N·D) algorithm, word-level diffing, and semantic formatting.
UUID Generator
RFC 4122 v4 (random) and RFC 9562 v7 (timestamp-ordered) UUIDs.
🛡️ Threat Model & Security Policy
Guarantee
Detail
Zero External Requests
No input data, generated secrets, passkeys, certificates, or tokens leave your device. All operations execute strictly within the browser memory sandbox.
Standard Web Cryptography
Web Crypto API (window.crypto.subtle), standard WebAuthn APIs (navigator.credentials), and peer-reviewed client-side algorithms power all cryptographic operations.
Open Source & Auditable
Verify JavaScript execution directly in browser DevTools or run local builds fully offline.
🚀 Local Development
Prerequisites
Node.js >= 22
npm >= 10
Quick Start
git clone https://github.com/farman20ali/secure-toolkit.git
cd secure-toolkit
npm install
npm run dev
Open the URL shown in the terminal (usually http://localhost:5173).
Available Scripts
Command
Description
npm run dev
Start Vite dev server with HMR
npm run build
Type-check (tsc -b) then produce production bundle
npm run preview
Locally preview the production build
npm run test
Run Vitest unit test suite
npm run lint
Run OxLint static analysis
npm run relay
Start the local SMTP relay server (for SMTP Tester)
GitHub Pages note: The production build sets the base path to /secure-toolkit/. After building, dist/404.html is automatically generated from dist/index.html to support client-side routing on hard reload.