# Pinned signing keys A key lands here when a publisher signs what Panama installs but does not publish the key, or its fingerprint, anywhere an install could fetch and check them first. Pinning the key is what lets `dnf` verify a download before root ever sees it. Nothing here is a secret. These are public keys, and the reason to track them is that a *changed* one should be a merge request somebody reads, not a silent change of who is trusted. ## `RPM-GPG-KEY-chatgpt` | | | | --- | --- | | Fingerprint | `3BFA0E4AE8B8CC16A2D9BA684A3B4A566C4660E4` | | User ID | `Codex Linux Repository` | | Signs | the `chatgpt` package and the repository metadata at `https://persistent.oaistatic.com/codex-app-prod/linux/rpm/$basearch` | | Used by | `setup/lib/chatgpt-package` | Captured on 2026-08-27 from a machine where the official package had been installed, at `/etc/pki/rpm-gpg/RPM-GPG-KEY-chatgpt`, where the package's own root scriptlet writes it. It is the key that signed both the installed `chatgpt` package and the live `repodata/repomd.xml.asc`. Be honest about what that is worth: OpenAI's documented instructions () are to download an RPM and install it, and they publish no key URL and no fingerprint to compare against. So this is trust established on first use and then held, not trust verified against the publisher. Held is the part that matters -- from here every machine checks the same fingerprint, and a swapped download fails instead of installing. To re-derive the fingerprint from the file: ```bash gpg --show-keys --with-colons setup/keys/RPM-GPG-KEY-chatgpt \ | awk -F: '$1 == "fpr" { print $10; exit }' ```