Decryptor PII is a Vite + React single-page app that helps you decrypt and inspect sensitive spreadsheet columns without leaving your browser. Drop in a CSV or Excel file, select the encryption algorithm plus key, preview the decrypted values column by column, and export the processed data back to CSV/XLSX (bundled as a ZIP for convenience).
- Drag-and-drop upload for
.csv,.xlsx, and.xlsfiles with progress feedback. - AES decryption support (
aes-128-cbc,aes-256-cbc,aes-128-gcm,aes-256-gcm) powered bycrypsi.js. - Per-column toggle to decide what should be decrypted before display or export.
- Paginated data preview with live decrypted values.
- Export decrypted data to CSV or XLSX; downloads are packaged as a ZIP archive.
- React 18 with TypeScript
- Vite build tooling
- Tailwind CSS for styling
react-dropzone,xlsx,jszip, andfile-saverfor the data workflow
- Node.js 18+ (or a compatible LTS release)
- npm 9+ (bundled with Node)
git clone <repo-url>
cd decryptor-pii
npm install
npm run devOpen the printed local URL (typically http://localhost:5173) to use the app.
- Pick the AES algorithm that matches your encrypted dataset.
- Paste the encryption key and click Set Encryption Key.
- Drag and drop a CSV/XLSX file (or click to browse).
- Toggle the eye icon in each column header to decrypt or leave the raw value.
- Export the processed data as CSV or XLSX. The download arrives as
exported-data.zip.
If a value cannot be decrypted with the provided key/algorithm it is left unchanged so you can spot issues quickly.
npm run dev– start the Vite dev server with hot reload.npm run build– generate a production bundle indist/.npm run preview– serve the production build locally.npm run lint– run ESLint across the codebase.npm run deploy– deploy the built app to GitHub Pages (dist/).
Pull requests are welcome—especially during Hacktoberfest! Please keep changes focused: open an issue or discussion for larger features, run npm run lint, and include testing notes where relevant.
No explicit license is provided yet. If you plan to use this project beyond local experimentation, please reach out or open an issue to clarify licensing.
Thanks to all who have contributed to this project!