Skip to content

Upgrade NetWatch to v1.6 for enterprise SSO, audited operations, and secure AI - #1

Draft
Adam-Ghanem wants to merge 1 commit into
mainfrom
agent/portfolio-cleanup
Draft

Upgrade NetWatch to v1.6 for enterprise SSO, audited operations, and secure AI#1
Adam-Ghanem wants to merge 1 commit into
mainfrom
agent/portfolio-cleanup

Conversation

@Adam-Ghanem

@Adam-Ghanem Adam-Ghanem commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Summary

NetWatch v1.6 upgrades the project from a trusted pilot into a hardened, single-instance enterprise foundation. It adds company SSO, individual identities, stronger audit integrity, operational controls, and a server-side AI gateway while preserving the defensive private-network scope.

Enterprise identity and access

  • add optional OIDC/JWT SSO with strict HTTPS issuer/JWKS configuration, pinned signing algorithms, issuer/audience/time validation, bounded token lifetime, canonical subjects, and exact group-to-role mapping
  • let SSO users work without entering NetWatch or AI keys in the browser
  • retain distinct local Admin, Operator, and Viewer keys only as a documented break-glass path
  • fail closed when OIDC or audit-integrity configuration is invalid
  • attribute audit events to stable individual SSO subjects without exposing bearer tokens

Audit and operations

  • protect the audit log with an HMAC chain plus keyed head checkpoint
  • serialize concurrent audit appends with SQLite write transactions and force fresh integrity verification before privileged actions and scheduled work
  • add bounded public readiness caching while keeping privileged checks uncached
  • handle malformed checkpoint state as a safe readiness failure
  • retain policies, maintenance windows, alert cases/SLA evidence, consistent backups, metrics, liveness, and readiness controls

Secure AI boundary

  • keep the provider credential exclusively on the server; users never supply or receive it
  • send only bounded, de-identified operational snapshots
  • keep fixed defensive instructions, structured output, disabled response storage, no tools, and no arbitrary user prompt execution
  • enforce separate concurrency, rate, daily-budget, timeout, cache, redirect, and response-size controls
  • bound in-memory API and AI rate-limit buckets to prevent unbounded client-cardinality growth

Deployment hardening

  • add a single-replica Kubernetes template with explicit secret references, non-root execution, read-only root filesystem, dropped capabilities, resource limits, probes, and persistent data
  • harden Docker Compose with read-only filesystems, restricted tmpfs, PID limits, init, and minimal capabilities
  • emit HSTS consistently for TLS-terminated deployments and preserve Host/CORS/security-header controls
  • stop printing generated Admin credentials; secrets remain only in the private ignored .env
  • document the honest SQLite boundary: this is a professional single-instance deployment, not multi-replica HA

User impact

Company users can authenticate through the organization's identity provider and use NetWatch without managing application or provider keys. Admins get exact role mapping, individually attributable audit evidence, operational readiness, safer deployment templates, and an AI advisory layer that does not expose infrastructure identifiers or credentials.

Validation

  • 168 passed
  • branch-aware aggregate coverage: 81.3%
  • Black, isort, Flake8, mypy, and Python compilation: passed
  • high-confidence/high-severity Bandit scan: passed
  • frontend JavaScript and YAML parsing: passed
  • secret boundary, pip check, and git diff --check: passed
  • pip-audit -r requirements-dev.txt: no known vulnerabilities
  • focused security diff review: 22/22 selected full-file receipts reconciled; no reportable finding survived
  • audit concurrency, tamper/checkpoint, readiness cache, OIDC numeric-date/lifetime/subject, invalid-config fail-closed, bounded limiter, HSTS, and launcher no-secret-output regressions are covered

Docker is unavailable in the local workspace. GitHub Security CI validates Compose, builds the production image, verifies the non-root/capability boundary, and reruns the full suite.

Deployment boundary

v1.6 supports one application replica with SQLite-backed state. Multi-replica HA requires an external transactional database plus shared scheduler, metrics, and rate-limit coordination. External append-only audit export is still recommended when the organization needs evidence beyond local-compromise resistance.

This pull request remains a draft and does not merge into main automatically.

@Adam-Ghanem Adam-Ghanem changed the title Clean generated assets and portfolio wording Harden NetWatch and clean portfolio presentation Jul 13, 2026
@Adam-Ghanem Adam-Ghanem changed the title Harden NetWatch and clean portfolio presentation Harden NetWatch v1.0.1 and restore quality gates Jul 13, 2026
@Adam-Ghanem Adam-Ghanem changed the title Harden NetWatch v1.0.1 and restore quality gates Upgrade NetWatch to v1.1 with asset change detection Jul 14, 2026
@Adam-Ghanem Adam-Ghanem changed the title Upgrade NetWatch to v1.1 with asset change detection Upgrade NetWatch to v1.2 with company operations controls Jul 14, 2026
@Adam-Ghanem Adam-Ghanem changed the title Upgrade NetWatch to v1.2 with company operations controls Upgrade NetWatch to v1.3 with controlled operations Jul 14, 2026
@Adam-Ghanem Adam-Ghanem changed the title Upgrade NetWatch to v1.3 with controlled operations Upgrade NetWatch to v1.4 with maintenance-aware case operations Jul 15, 2026
@Adam-Ghanem Adam-Ghanem changed the title Upgrade NetWatch to v1.4 with maintenance-aware case operations Upgrade NetWatch to v1.5 with hardened server-side Intelligence Jul 15, 2026
@Adam-Ghanem Adam-Ghanem changed the title Upgrade NetWatch to v1.5 with hardened server-side Intelligence Upgrade NetWatch to v1.6 for enterprise SSO, audited operations, and secure AI Jul 15, 2026
@Adam-Ghanem
Adam-Ghanem force-pushed the agent/portfolio-cleanup branch from 95ea67c to 7d669dd Compare August 12, 2026 00:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant