Data flow
What the app reads and publishes
The app is local-first, but a Discord activity is still shared with Discord and can contain the text configured by the user.
Local inputs
- Codex session JSONL under the configured Codex home.
- Codex configuration and model environment variables.
- Process and window signals used to select the active Codex profile.
- Project and Git metadata used for the configured activity context.
- Local application settings and the saved tray enable state.
- When Claude Code is enabled: sanitized session and lifecycle metadata from observational hooks, and matching session cost and usage metadata from a statusLine wrapper, are stored under
%LOCALAPPDATA%\CodexDiscordPresence. The main-session transcript is read locally for model metadata and cumulative tokens. Original terminal output is preserved. Prompts, tool responses, shell commands, source text, and thinking bodies are discarded, and Claude credentials are never read. - When Antigravity CLI is enabled: the official statusLine JSON payload.
Discord output
The app connects to Discord Desktop through the Discord RPC client and publishes the configured Rich Presence fields: details, state, images, timestamps, party metadata when applicable, and buttons. Depending on configuration and current evidence, those fields can include a project name, file label, model, reasoning effort, activity summary, MCP server name, command kind, token text, or Git count.
Network requests
- Embedded Dashboard content and default settings are extracted under the local application data directory. The release checker can call the public GitHub Releases API to look for a newer release. The standalone 0.5.0 EXE offers release notifications but cannot automatically replace itself; setting
EnableUpdateChecktofalsedisables background checks. - Discord handles the Rich Presence connection and delivery through its local desktop client.
- Configured external image URLs can be requested by the dashboard preview or referenced in the Discord presence payload.
What this project does not provide
There is no project-operated cloud account, hosted session database, or team analytics backend in the current application. The project does not claim that Discord or configured third-party image hosts receive no metadata; users should review their Discord settings and custom configuration before sharing sensitive names or summaries.