OSVauco/opax-web
2026-09-13 09:51:30 +00:00
..
backend fix(opax): make operations console ESM-safe 2026-09-13 09:51:30 +00:00
frontend fix(opax): make operations console ESM-safe 2026-09-13 09:51:30 +00:00
.dockerignore feat(opax-web): add read-only Git BFF and hardened UI 2026-09-09 17:26:07 +00:00
.gitignore chore(wip): backup MCP hardening and A1 work 2026-09-08 01:09:31 +00:00
Dockerfile feat(opax-web): add read-only Git BFF and hardened UI 2026-09-09 17:26:07 +00:00
README-opax-web.md Harden OPAX Web TUI backend og polish UI/UX for prod 2026-09-10 21:42:03 +00:00
README.md feat(opax-web): add fail-closed agent boundary 2026-09-07 20:47:07 +00:00
SECURITY.md feat(opax-web): add fail-closed agent boundary 2026-09-07 20:47:07 +00:00

OPAX Web TUI

This project provides a starter scaffold for a Google-login-gated web control plane. It consists of a React frontend and a Node.js backend.

The frontend provides a terminal-like interface for interacting with the system. The backend handles user authentication via Google OAuth2 and provides a secure boundary for potential agent integrations.

Local Development

To run the application locally, first install the dependencies:

npm install

Then, start the development server:

npm run dev

Configuration

The backend requires several environment variables for configuration. For local development, you can create a .env file in the opax-web/backend/ directory.

  • Do not commit .env files to Git.
  • NEVER use or copy production secrets into a local .env file.
  • For configuration that requires secrets, use local, rotatable test values.
  • Production secrets must be stored and delivered via the dedicated secrets solution described in SECURITY.md.

Required configuration keys:

  • FRONTEND_URL
  • ALLOWED_EMAILS
  • GOOGLE_CLIENT_ID
  • GOOGLE_CLIENT_SECRET
  • SESSION_SECRET

Note: The outbound agent integration is currently disabled by default (fail-closed). The backend will not attempt to connect to any external agent services.

Security

IMPORTANT: Never commit passwords, tokens, OAuth client secrets, or service account keys to the Git repository. If any credential is accidentally exposed, it MUST be revoked and rotated immediately.

For more details, see SECURITY.md.