{"id":50530122,"url":"https://github.com/konstantinmeleshkin/codex-desktop-archive","last_synced_at":"2026-06-06T10:01:13.536Z","repository":{"id":361331922,"uuid":"1254075956","full_name":"KonstantinMeleshkin/codex-desktop-archive","owner":"KonstantinMeleshkin","description":"Unofficial verified archive of historical Codex Desktop macOS DMG releases for rollback to previous versions.","archived":false,"fork":false,"pushed_at":"2026-06-03T11:26:45.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-03T13:15:47.778Z","etag":null,"topics":["archive","codex","codex-app","codex-desktop","desktop-app","dmg","downgrade","github-actions","macos","notarized","openai-codex","previous-versions","rollback","signed-installer","verified-releases"],"latest_commit_sha":null,"homepage":"https://github.com/KonstantinMeleshkin/codex-desktop-archive/releases","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KonstantinMeleshkin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-30T05:43:37.000Z","updated_at":"2026-06-03T11:26:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/KonstantinMeleshkin/codex-desktop-archive","commit_stats":null,"previous_names":["konstantinmeleshkin/codex-desktop-archive"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/KonstantinMeleshkin/codex-desktop-archive","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KonstantinMeleshkin%2Fcodex-desktop-archive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KonstantinMeleshkin%2Fcodex-desktop-archive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KonstantinMeleshkin%2Fcodex-desktop-archive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KonstantinMeleshkin%2Fcodex-desktop-archive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KonstantinMeleshkin","download_url":"https://codeload.github.com/KonstantinMeleshkin/codex-desktop-archive/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KonstantinMeleshkin%2Fcodex-desktop-archive/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33977371,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-06T02:00:07.033Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archive","codex","codex-app","codex-desktop","desktop-app","dmg","downgrade","github-actions","macos","notarized","openai-codex","previous-versions","rollback","signed-installer","verified-releases"],"created_at":"2026-06-03T13:00:19.247Z","updated_at":"2026-06-06T10:01:13.509Z","avatar_url":"https://github.com/KonstantinMeleshkin.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Codex Desktop Archive\n\nUnofficial, evidence-based archive of historical **Codex Desktop for macOS** DMG releases.\n\nUse this repository when you need to downgrade Codex Desktop, roll back to a previous version, or reinstall an older macOS DMG after a new update breaks your workflow.\n\nEach archived release is captured from the official OpenAI-linked download URL and published with SHA-256 hashes, macOS signature checks, notarization checks, mounted DMG inventory, release notes, and a machine-readable manifest.\n\n## Quick Links\n\n- [Download archived Codex Desktop releases](https://github.com/KonstantinMeleshkin/codex-desktop-archive/releases)\n- [Latest captured manifest](manifest/latest.json)\n- [Verification guide](docs/verification.md)\n- [Release policy](docs/release-policy.md)\n- [Manifest format](docs/manifest.md)\n\n## Why This Exists\n\nCodex Desktop updates are useful, but sometimes a fresh build can break an important workflow. If you did not save the previous installer, rolling back can be difficult because the official download URL points to the current build.\n\nThis archive gives macOS users a transparent way to find an older Codex Desktop DMG and verify what was captured.\n\nCommon search phrases this project is meant to answer:\n\n- download older Codex Desktop version\n- downgrade Codex Desktop on macOS\n- roll back Codex Desktop after update\n- previous Codex Desktop DMG\n- historical Codex Desktop releases\n- verified Codex Desktop macOS installer archive\n\n## What Is Archived\n\n| Platform | Status | Evidence level |\n| --- | --- | --- |\n| macOS | Full DMG from the official OpenAI-linked download URL | Strong |\n\nThis project does not archive Codex CLI. Codex CLI has its own open-source release channel.\n\nWindows is intentionally not archived. The current official Windows path uses a Store bootstrapper, which can install whatever version Microsoft Store resolves at install time. That does not provide the same historical rollback guarantee as archiving a complete macOS DMG.\n\n## Download An Older macOS Version\n\n1. Open the [Releases page](https://github.com/KonstantinMeleshkin/codex-desktop-archive/releases).\n2. Choose the Codex Desktop version you want to restore.\n3. Download the `Codex-Desktop-*-macos.dmg` asset and `codex-desktop-manifest.json` from the same release.\n4. Verify the SHA-256 hash against the manifest before installing.\n\n```bash\nshasum -a 256 Codex-Desktop-*-macos.dmg\n```\n\nThe output should match the `sha256` field for the macOS artifact in `codex-desktop-manifest.json`.\n\n## Official Source URLs\n\nThe workflow captures the macOS download linked from the official Codex page:\n\n- Codex page: \u003chttps://openai.com/codex/\u003e\n- macOS DMG: \u003chttps://persistent.oaistatic.com/codex-app-prod/Codex.dmg\u003e\n\n## Verification Model\n\nEvery release is based on a manifest. The manifest records:\n\n- source URL and effective URL observed by the downloader\n- selected HTTP headers\n- SHA-256 and byte size\n- GitHub Actions run id\n- workflow commit SHA\n- app version/build when inspectable\n- mounted DMG inventory\n- macOS signature, Gatekeeper, and notarization results\n- known limitations\n\nFor macOS, the workflow verifies the DMG and checks that the app is signed and notarized as:\n\n```text\nDeveloper ID Application: OpenAI OpCo, LLC (2DC432GLL2)\n```\n\nIt also checks the expected app identity, bundle metadata, and mounted image contents before publication.\n\n## Manual Verification\n\nAfter checking the SHA-256 hash, you can also verify the disk image and app signature locally:\n\n```bash\nhdiutil verify Codex-Desktop-*-macos.dmg\nhdiutil attach -readonly -nobrowse Codex-Desktop-*-macos.dmg\ncodesign --verify --verbose=4 \"/Volumes/Codex Installer/Codex.app\"\nspctl -a -vv -t exec \"/Volumes/Codex Installer/Codex.app\"\nxcrun stapler validate \"/Volumes/Codex Installer/Codex.app\"\nhdiutil detach \"/Volumes/Codex Installer\"\n```\n\nSee [docs/verification.md](docs/verification.md) for the full verification guide.\n\n## Release Policy\n\nThe capture workflow runs once per day at `06:17 UTC` and can also be started manually with `workflow_dispatch`.\n\nThe workflow creates a new release only when the captured artifact identity changes. It skips release creation when the current capture has the same app version/build and artifact hashes as the latest manifest.\n\nExisting release assets are not silently overwritten. The workflow does not use `gh release upload --clobber`.\n\nPublication is separated from capture and read-only verification. The final publish job is the only job with `contents: write`, and it re-inspects the macOS DMG before publishing.\n\nSkipped captures still verify the already-published GitHub Release against `manifest/latest.json`, including asset hashes, attached manifest, release notes, and tag target.\n\n## Limits\n\nThis project can prove what its GitHub Actions workflow downloaded, verified, and published.\n\nIt cannot mathematically prove what OpenAI served on a historical date unless OpenAI or another independent source published the historical hash for that exact file.\n\nThis project is not affiliated with OpenAI.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkonstantinmeleshkin%2Fcodex-desktop-archive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkonstantinmeleshkin%2Fcodex-desktop-archive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkonstantinmeleshkin%2Fcodex-desktop-archive/lists"}