@msecrets/ui
v3.0.1
Published
Local web UI for managing msecrets encrypted environment files.
Readme
@msecrets/ui
Local web UI for managing msecrets encrypted environment files.
@msecrets/ui starts a small local HTTPS server bound to 127.0.0.1, serves the bundled msecrets UI, and connects it to a selected .env.ms.json / secrets.ms.json workspace file.
Install
npm install -g @msecrets/uiOr run without installing:
npx @msecrets/ui .env.ms.jsonUsage
Pass the msecrets workspace file as the first positional argument:
npx @msecrets/ui .env.ms.jsonUse a custom port:
npx @msecrets/ui .env.ms.json --port 9842Short form:
npx @msecrets/ui .env.ms.json -p 9842If no file path is provided, the UI defaults to:
.env.ms.jsonWhat it does
@msecrets/ui provides a local browser interface for:
- initializing a msecrets workspace file
- managing environments
- importing recipient public keys
- importing temporary runtime private keys
- creating, renaming, and deleting secrets
- setting encrypted values per environment
- peeking/decrypting values when a matching runtime private key is loaded
- sharing and revoking encrypted values for configured recipient keys
Security defaults
The UI is intentionally local-first:
- binds only to
127.0.0.1 - serves over local HTTPS with a throwaway certificate
- does not expose the server on your LAN
- keeps imported runtime private keys in process memory only
- exits automatically after a period of inactivity
- reads and writes the workspace file directly on your machine
The local HTTPS certificate is generated at startup and is not intended to establish public trust. Your browser may show a certificate warning.
GPG key support
If a supported local GPG provider is available, the UI can list available keys and import matching public or private key material.
Private keys imported into the UI are runtime-only. They are used for local decrypt/peek operations and are not written into the msecrets workspace file.
Package
@msecrets/uiBinary:
@msecrets/uiPublished files:
dist/Development
From the repository root:
npm --workspace @msecrets/ui run buildRun the e2e test:
npm --workspace @msecrets/ui run test:e2eRun the development server:
npm --workspace @msecrets/ui run devRun the production server locally:
npm --workspace @msecrets/ui run startBuild layout
The package builds two parts:
- server runtime with
tsdown - client SPA with Vite
npm --workspace @msecrets/ui run server:build
npm --workspace @msecrets/ui run client:buildThe production server serves the built client from:
dist/clientLicense
See the repository license.
