# Security Policy

## Supported versions

Only the newest published prerelease is supported during the alpha period.

## Reporting

Do not open a public issue containing credentials, OAuth URLs, device codes,
account identifiers, or keychain diagnostics that include secret values.
Report a suspected vulnerability through GitHub's private vulnerability
reporting feature for this repository.

## Operational guarantees

- OAuth credentials are stored only in macOS Keychain, Windows Credential
  Manager, or Linux Secret Service. Linux kernel keyrings are not used.
- The plugin never reads or writes Codex CLI/Desktop authentication files.
- Access/refresh tokens and account IDs are excluded from authentication RPC
  responses, CLI output, and plugin-generated authentication errors and logs.
- Web login, status, cancellation, and logout are loopback-only.
- Credential refresh and logout are serialized across DSH processes.
- Native-store failure is fail-closed; no plaintext or encrypted file fallback
  exists.

Uninstalling the npm bundle does not delete the native credential. Run
`dsh plugin --profile web exec dsh-codex-keychain logout` before uninstalling
when the credential should be removed.

Model-service failures can include provider-supplied diagnostics. Review and
redact those diagnostics before including them in a public report.
