Skip to content

Keep public simulator credentials outside visitor runtimes - #777

Draft
axelpey wants to merge 1 commit into
codex/ros-credential-parametersfrom
codex/sim-secrets-audit
Draft

Keep public simulator credentials outside visitor runtimes#777
axelpey wants to merge 1 commit into
codex/ros-credential-parametersfrom
codex/sim-secrets-audit

Conversation

@axelpey

@axelpey axelpey commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Public simulator containers currently receive a shared service key. This change adds a public runtime mode that fails before startup if credentials or owner configuration are present, and routes Gemini, Cartesia, ElevenLabs and UniNavid through the private credential relay with no client key, token or Authorization header. Owner-local authenticated clients remain supported.

The HTTP front door also stops serving hidden/config files, confines model/media/log symlink targets to their intended roots, and returns public settings defaults. Controlled canaries reproduced seven conditional file/config disclosures on the baseline and verified their denial after the change. The audit did not establish that these misplaced files existed in production.

Stacked on #775, the independently reviewable ROS credential-parameter fix. Requires innate-cloud broker/relay #111 and service-proxy #108. These changes must be staged together; the old broker's credential injection is intentionally rejected by this image. Nothing has been deployed. The standalone legacy demo also needs its own private relay or retirement; the Kubernetes manifest alone does not migrate it.

Validation: 43 HTTP/client/media integration tests and 3 tests in an isolated real ROS container passed. Actual UniNavid navigation exchanges work through a local credentialless WebSocket. The actual OS ProxyClient -> private relay -> service proxy chain passed synthetic Gemini SSE, Cartesia audio, forced key-echo error suppression and shared-storage denial. All 127 current/legacy browser asset paths returned 200, and Agent-to-Settings navigation rendered without browser console errors.

Release verification still required: build and boot the production simulator image, exercise full ROS/video/agent behavior and real inference in staging, verify Kubernetes policy enforcement, then drain old sessions and rotate the historical shared demo key. The browser smoke had no ROS/video backend. No real key values were retrieved during this audit. Keep this PR draft until Axel explicitly approves it.

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