SECURITY MODEL
Security model
Before copying a command, you should know exactly what it changes and what it never touches.
Codex.app stays untouched
The runtime binds Chromium DevTools Protocol to 127.0.0.1 and injects CSS into the current Codex renderer. It does not rewrite Codex.app, app.asar, or the official code signature, and it never requires sudo or administrator access.
Themes are data, not programs
Installable theme packages contain JSON declarations, CSS, and embedded raster images. The runtime rejects remote CSS resources, and themes cannot carry or execute JavaScript. Every downloaded private package is size-limited, hashed, validated, and safety-linted before Codex is touched.
Private uploads expire
Your browser prepares the preview locally. Nothing uploads until you select Create private skin. The original filename and image metadata are not sent; the server re-encodes the processed image into a private package. Its unlisted link expires after 24 hours, and the stored file is deleted during the next daily cleanup window. Pasting the guided install into a Code Agent sends the temporary ID to that Agent provider; use the Terminal fallback if you do not want the ID in an Agent conversation.
Reapply stays local
After the first successful private apply, the validated package is cached with owner-only permissions on your Mac. Reapply reads that local copy, so it keeps working after the temporary cloud link expires.
Codex never restarts silently
If Codex is running and must be reopened, the CLI warns that unsent input may be lost. The guided Agent copy requests an interactive PTY so this decision stays with you; non-interactive environments cancel by default. After approval, an owner-only one-shot helper completes the restart and exits. It stores only a public theme slug or local cache hash and is not a persistent background service.
Pinned releases and public source
Every site command is pinned to @codextheme/cli@0.2.10. The source is public, and the repository preserves its Apache-2.0 upstream license, Git history, NOTICE, and exact provenance.
Restore the official appearance
Run restore from the same pinned release:
npx --yes @codextheme/cli@0.2.10 restoreRestore handles both the active renderer and Codex appearance settings. If recovery is only partial, the active state remains and the CLI returns an explicit error.
Get help
For installation or compatibility help, contact codextheme@codextheme.tech. Never send conversations, tokens, personal paths, or other private information.
Independent project
CodexTheme is an independent open-source project. It is not affiliated with, sponsored by, or endorsed by OpenAI. Codex is a product and trademark of its respective owner.