@suman-jangili/locker-frontend
v0.1.0
Published
A self-hosted, encrypted personal data vault with immutable consent receipts for documents.
Downloads
6
Maintainers
Readme
📄 @suman-jangili/locker‑frontend
Regulatory-First Design: Self-Hosted Encrypted Data Vault with Consent Receipts.
Building privacy‑by‑law systems from day 1. Start with the law, end with trust.
In today's data-protection landscape, regulations like GDPR, CCPA, HIPAA, and DPDPA should form the foundation of product architecture.
A self‑hosted digital vault where users can store, tag, and retrieve personal documents (IDs, health records, contracts). All privacy‑by‑design controls—data‑minimisation, purpose‑limitation, right‑to‑erasure—are baked into the UI and API.
Built with React SPA with Vite OIDC authentication (JWT validation) File uploader, consent modals, delete UI.
Table of Contents
- Features
- Installation
- Running Locally (development)
- Docker Production Build
- Configuration
- Contributing
- License
Features
- End‑to‑end encrypted storage of personal documents.
- Immutable consent receipts for every uploaded file.
- Modern UI built with React 19, MUI 7, and Emotion styling.
- Fast development experience via Vite.
Installation
# Clone the repo
git clone https://github.com/sumanjangili/regulatory-first.git
cd regulatory-first/locker-frontend
# Install dependencies
npm ci # deterministic install using package‑lock.json
# or, if you don’t have a lockfile:
# npm install --omit=devRunning Locally (development)
npm run dev # starts Vite dev server at http://localhost:5173Open the URL in your browser. The app will hot‑reload on source changes.
Docker Production Build
A multi‑stage Dockerfile is provided to produce a minimal runtime image.
# Builder stage – installs deps, compiles the Vite app
FROM node:20-alpine AS builder
...
# Runtime stage – tiny static server (serve)
FROM node:20-alpine AS runner
...Build & Run
# Build the Docker image
docker build -t locker-frontend:latest .
# Run the container (exposes port 80)
docker run -p 80:80 -e VITE_BACKEND_URL=http://regulatory_api:3000 locker-frontend:latestConfiguration
- Backend URL – Set VITE_BACKEND_URL environment variable (defaults to http://regulatory_api:3000).
- Other Vite env vars – Follow the standard Vite naming convention (VITE_...).
Contributing
- Fork the repository.
- Create a feature branch (
git checkout -b feat/your-feature). - Make your changes, run lint (
npm run lint) and ensure tests pass. - Write or update tests if applicable.
- Submit a pull request.
Please read the
CODE_OF_CONDUCTandCONTRIBUTINGguidelines before contributing.
License
This project is licensed under the MIT license.
For any questions, open an issue on GitHub or contact the maintainer at [email protected].
