Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [
"reverse-engineering",
"apple",
"exploit",
"awesome",
"apple-silicon",
"ios",
"jailbreak",
"jekyll",
"macos",
"macosx",
"ruby"
],
"is_fork": false,
"size_kb": 103404,
"has_wiki": true,
"homepage": null,
"languages": {
"C": 4366,
"HTML": 3989,
"Ruby": 83598,
"Python": 3299,
"JavaScript": 999,
"TypeScript": 3642
},
"pushed_at": "2026-08-04T09:41:49Z",
"created_at": "2021-12-06T21:13:59Z",
"owner_type": "Organization",
"updated_at": "2026-08-04T09:44:36Z",
"description": "A collection of reverse engineered Apple things, as well as a machine-readable database of Apple hardware",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "Ruby",
"significant_languages": [
"Ruby"
]
},
"owner": {
"blog": "https://hackdiffe.rent",
"name": "Hack Different",
"type": "Organization",
"login": "hack-different",
"company": null,
"location": "Worldwide",
"followers": 371,
"avatar_url": "https://avatars.githubusercontent.com/u/95656057?v=4",
"created_at": "2021-12-06T21:10:48Z",
"is_verified": null,
"public_repos": 75,
"account_age_days": 1701
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [],
"recent_commits": [
{
"oid": "19b9212c91bbea53138c37fa14cd3b3dfa01c095",
"body": null,
"is_bot": false,
"headline": "jekyll (#151)",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2026-08-04T09:41:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4ae9b8c2e4c4af047d1a41c2b3197f252a39e3da",
"body": null,
"is_bot": false,
"headline": "update cache (#150)",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2026-08-04T09:31:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5899c4413bfc6b4a80077a6c60ef38d57cd1f0c0",
"body": "* update cache\n\n* update cache",
"is_bot": false,
"headline": "update cache (#149)",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2026-08-04T09:24:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "92e501f6f8b23b509dc5d9afab609e40f7fe7e52",
"body": null,
"is_bot": false,
"headline": "update cache (#148)",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2026-08-04T09:20:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a24d4cc019f7075494752064cfcae2cf79661829",
"body": "* update download artifact\n\n* update download artifact\n\n* update download artifact\n\n---------\n\nSigned-off-by: Rick Mark <rickmark@outlook.com>",
"is_bot": false,
"headline": "update download artifact (#147)",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2026-08-04T09:11:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f871903f5b60ff64b48ee66b70558a07b3e96422",
"body": "* Updates for regular release\n\n* upload artifact upgrade\n\n* update ruby versions to 4.0.5\n\n* update ruby versions to 4.0.5\n\n* update ruby versions to 4.0.5\n\n* update ruby versions to 4.0.5",
"is_bot": false,
"headline": "Updates for regular release (#143)",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2026-08-04T08:42:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "03c7dc50a83e05fba84fde2a5809c583359df4a9",
"body": null,
"is_bot": false,
"headline": "update ruby versions to 4.0.5 (#146)",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2026-08-04T07:43:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "07aa653560e06b90ad342e9c55e88ee6b5fbfbdf",
"body": null,
"is_bot": false,
"headline": "integration test sudo (#145)",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2026-08-04T07:14:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5ff34841f24e2c697a2ceda3ca6e0056e0233633",
"body": null,
"is_bot": false,
"headline": "upload artifact upgrade (#144)",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2026-08-04T07:05:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "acfa078f26b0cac3d62c7e0a5b7b8c92904e8989",
"body": "* MooTool updaets\n\n* Updates for mootool\n\n* More mappings and symbosl\n\n* Sorting\n\n* Sorted values (been years haha)\n\n* Code updates",
"is_bot": false,
"headline": "Integrity coin (#142)",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2026-07-31T21:58:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fed497e81d1216e2b06dfd0de12b89cbdc6a159d",
"body": null,
"is_bot": false,
"headline": "More mappings and symbosl",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2026-07-30T22:03:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e78a494d99f068d2c4e325fbcef678930aef7c39",
"body": null,
"is_bot": false,
"headline": "Updates for mootool",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2026-07-30T22:03:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "19b53ce376fdd37107b6c0096ca12689d8b072a6",
"body": null,
"is_bot": false,
"headline": "MooTool updaets",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2026-07-30T22:03:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "adf924b66eae10b558b2ef327a017eeb4a7d8e13",
"body": null,
"is_bot": false,
"headline": "Integrity Coin",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2026-01-10T20:52:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5e4551d7b3e358ca55cb2c73739041c3af17e47",
"body": null,
"is_bot": false,
"headline": "Support IPFS CIDv1",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2026-01-07T03:00:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8b6af6a4c95bd6ac5edc8b1c6a71cde2733741d3",
"body": null,
"is_bot": false,
"headline": "Friendlier names for UNIX",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2025-12-18T19:35:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a571bde2f4e9cf9b0fdd6760f2156c43de0f11ab",
"body": null,
"is_bot": false,
"headline": "Blog articles upload",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2025-12-18T19:26:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3f9fce8937033d23a9a1663e48eda5c51ae953f0",
"body": null,
"is_bot": false,
"headline": "Old notes",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2025-12-18T19:26:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "02941994de15a14163a2b7b2b62bdf59e3dfa9dc",
"body": "Bumps [yard](https://github.com/lsegal/yard) from 0.9.34 to 0.9.36.\n- [Release notes](https://github.com/lsegal/yard/releases)\n- [Changelog](https://github.com/lsegal/yard/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/lsegal/yard/compare/v0.9.34...v0.9.36)\n\n---\nupdated-dependencies:\n- dependency-name: yard\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "Bump yard from 0.9.34 to 0.9.36",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2025-12-18T19:22:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "355597fa4635eedf89143840289598e91bcb9cdb",
"body": "Signed-off-by: Rick Mark <rickmark@outlook.com>",
"is_bot": false,
"headline": "Delete .github/workflows/analysis-codeql.yml",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-03-22T00:07:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "97c91676e08dbaa77bcc147cbf3eee1316b99bab",
"body": null,
"is_bot": false,
"headline": "More img mapping",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-03-11T18:20:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7edb35814aa8858ba32c97b3c2d3396caa78d4fd",
"body": null,
"is_bot": false,
"headline": "rename",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-03-09T06:48:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a7833a4291926719e6ac2f3233f9d943dd05c4f2",
"body": null,
"is_bot": false,
"headline": "Fixes",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-03-09T06:46:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b3617e872f1cfbde861f56ba0a65bab382bbe971",
"body": null,
"is_bot": false,
"headline": "Various keys",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-03-09T06:37:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ae5a6f57f50ea87a4e1b89510e2e900670a358d",
"body": null,
"is_bot": false,
"headline": "Tons of long form chip data",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-03-06T09:41:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7122575ff9128ebc5ce2473171a1268d95a313cb",
"body": null,
"is_bot": false,
"headline": "More unusual symbols",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-03-05T12:34:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cc3de392bc2c039ffe2588814ac1191775951c90",
"body": null,
"is_bot": false,
"headline": "More symbols",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-03-05T11:46:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae26550cffb7a79390ded123aee332b677e6d600",
"body": null,
"is_bot": false,
"headline": "More symbols",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-03-05T09:02:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "49878eaea180c796abf52389342d766ee920c994",
"body": null,
"is_bot": false,
"headline": "More symbols",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-03-05T08:42:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e872096d79161539ce0c72001b6cd87482983c7",
"body": null,
"is_bot": false,
"headline": "Various symbols",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-03-05T08:20:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "80a7f2d676237eba6a7fa38a7646a982e334af38",
"body": null,
"is_bot": false,
"headline": "iSim",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-03-04T11:47:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7b6dd8677fd5fc9877945319bce05ac9080acf6",
"body": null,
"is_bot": false,
"headline": "iSim",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-03-04T11:43:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4fe78e8f0e5b7458f89028d32544812bbc272795",
"body": null,
"is_bot": false,
"headline": "More updates",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-03-04T00:41:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fdd28817b02bd122f300649c7b6707afe70c142e",
"body": null,
"is_bot": false,
"headline": "More WIP",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-02-29T09:30:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "259b64651164050fbe8db17e9c5cc7f4dda85107",
"body": null,
"is_bot": false,
"headline": "More progress on threat modeling",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-02-28T22:40:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "60edb5fd2d3c5481e0eb0de6c26bf370d1d91897",
"body": null,
"is_bot": false,
"headline": "More detail",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-02-28T03:29:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bd72a410149cfd55427c0ebecc40cb8e5deb0958",
"body": null,
"is_bot": false,
"headline": "More details of FactoryTrust",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-02-27T21:50:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8feeee87c98f05cc690ac10a6a3a636c6180782a",
"body": null,
"is_bot": false,
"headline": "WIP: Factory Trust",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-02-27T20:11:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "82d395ff393c07957bed898fa44746c2779ea374",
"body": null,
"is_bot": false,
"headline": "Lint issues with Markdown",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-02-24T03:55:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "28ac34ec6b95f1c8a529a786c5e505e5882ac0a7",
"body": null,
"is_bot": false,
"headline": "Sorting and normalizing YAML",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-02-24T03:48:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d74e2b5f02d8881fd8f44463f80192f3d03788f4",
"body": null,
"is_bot": false,
"headline": "More terms",
"author_name": "rickmark",
"author_login": "rickmark",
"committed_at": "2024-02-24T03:15:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f4365ea1ffb1fc80fb503745b7ff9c9b9c55f4b3",
"body": null,
"is_bot": false,
"headline": "More certs - credit siguza",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-02-20T00:51:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4ca657506d15184fdcb4fb65c20814bf9781237e",
"body": null,
"is_bot": false,
"headline": "moar certs",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-02-19T09:34:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b7562d1828870a8bfc2528cb08db2e1410b5bb0b",
"body": null,
"is_bot": false,
"headline": "Correct name",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-02-19T09:08:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9309293c3d31c2aedf4fd0d3945833e7fda3d4f2",
"body": null,
"is_bot": false,
"headline": "Add certificates",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-02-19T09:05:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1854575f01d61b421621e67a103971b507b76f68",
"body": null,
"is_bot": false,
"headline": "More img4 documentation",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-02-18T10:16:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b0aeca5fc4a235488cd836e54fc6c366fd35d5fb",
"body": null,
"is_bot": false,
"headline": "Updates to FDR",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-02-15T22:59:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "165767b76cca27ab194c31c4ada4faa24c2b3cb4",
"body": null,
"is_bot": false,
"headline": "More FDR values",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-02-15T08:56:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "50714e35f5f22544136bfbc972af3eb48d256ff8",
"body": null,
"is_bot": false,
"headline": "Updates to data about FDR",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-02-14T13:53:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5227414b3470f9e846ffd0f32f3ccd3aa6a7139c",
"body": null,
"is_bot": false,
"headline": "APNS sort",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-02-06T10:10:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2317347d09df5a41dd9983da357a3938a0e94fe8",
"body": null,
"is_bot": false,
"headline": "New data on APNS / img4 and iboot",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-02-06T10:00:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f36903950e8037283f3d9edb88f056546bc1097",
"body": null,
"is_bot": false,
"headline": "Reorder iBoot",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-01-26T09:32:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d486f172f9de489d0adceeffe388ff5ff97cf6a1",
"body": null,
"is_bot": false,
"headline": "Make iboot have documentation",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-01-26T09:27:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e0ecd8c81626d78b37a7d430053b32ce8ed41d2",
"body": null,
"is_bot": false,
"headline": "Ignore LSP",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-01-26T09:15:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d351a7501093ce8f20be202bb9528d51853a7681",
"body": null,
"is_bot": false,
"headline": "libidn needed for CI",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-01-26T09:09:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31a326a60cfa7195ecd3dc22e2d85c0830c23b7b",
"body": null,
"is_bot": false,
"headline": "Add needed bundle data for linux",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-01-25T01:10:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6af9519d64885cd80c78961b41df39fdafd8ae49",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' into tipw_sync",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-01-25T01:08:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4b5ac49adcef47f47cc15acfa7ac44ba3ea39e4f",
"body": null,
"is_bot": false,
"headline": "Massive data update",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-01-25T01:06:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "12e46fe631649fd95afba4be15f8f661178d68bf",
"body": null,
"is_bot": false,
"headline": "Updates for migration from the iphone wiki to the apple wiki",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-01-21T20:22:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9538ba5f075d2246fd70ca49e53abcf7767b530f",
"body": null,
"is_bot": false,
"headline": "Improvements to ignored files",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-01-17T01:04:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9de758635ed06f94eb2e1af38e3fe3a8cbda7fd",
"body": null,
"is_bot": false,
"headline": "Move to the Apple wiki and reset state file",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-01-17T01:01:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4870a70be4cfd2f00d0757560e3bc32c32a7a6f0",
"body": null,
"is_bot": false,
"headline": "Updates to wiki sync",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-01-17T00:37:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "311751512638843505912a63ae3cb8c130690ab0",
"body": null,
"is_bot": false,
"headline": "Updates to wiki sync",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-01-13T07:39:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "427b7f5b40bf4da74fb0cb8528bba7d82810fbe6",
"body": null,
"is_bot": false,
"headline": "Updates to wiki sync",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2024-01-10T07:01:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e62a1cb61639b0755006c0685b24fdbe0b00738b",
"body": null,
"is_bot": false,
"headline": "Manual integrate of missing repo",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-12-26T05:40:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7d9e64570e30acda4eb54f5cf3df50bb9510a988",
"body": "* Fix Mac mini 2023 info\r\n\r\n* Add some Oct/Nov 2022 products and HomePod 2nd gen\r\n\r\nApparently I added (most of) the January ones but forgot the October/November ones, even though I added them to `baseband.yaml`\r\n\r\n* Add more models and fix issues\r\n\r\n- Add Mac Studio (M2 Max, 2023) and M2 Ultra mach\n[…]\nChange arm64 -> armv8.4\r\n\r\n* Add September 2023 models\r\n\r\n* Add September 2023 baseband IDs\r\n\r\nThx @DanTheMann15 (1Conan/tsschecker#32)\r\n\r\n---------\r\n\r\nCo-authored-by: Rick Mark <rickmark@outlook.com>",
"is_bot": false,
"headline": "Fix Mac mini 2023 info, add Oct/Nov 2022 + HomePod 2nd gen (#121)",
"author_name": "Dhinak G",
"author_login": null,
"committed_at": "2023-12-26T05:24:22Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b014313b9501b09d6b638473b8539884df27c2c9",
"body": null,
"is_bot": false,
"headline": "Try PyPI this way",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-12-26T05:04:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb025a8cc7929edbeaef135970e986b926433d18",
"body": null,
"is_bot": false,
"headline": "Poetry fix?",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-12-26T03:34:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "827446a47931fa7a6ded62308dcd2733834e09ef",
"body": null,
"is_bot": false,
"headline": "Another shift for pip",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-12-26T03:11:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fbb176279aef0890faea01edbc29da08ed35b8ef",
"body": null,
"is_bot": false,
"headline": "Try yarn publish a different way",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-12-26T03:08:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "87dec1dcfdcb21acf8b8621d9326eb512ece32e4",
"body": null,
"is_bot": false,
"headline": "Fix for python data files",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-12-26T03:00:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fc26c5dceee235db8e7cff9e7b97ca269a48cb33",
"body": null,
"is_bot": false,
"headline": "Build before test",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-12-26T02:51:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8618e774e44f069b725e0cdce5259f75cd91205f",
"body": null,
"is_bot": false,
"headline": "Fixup for publish NPM",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-12-26T02:48:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "89dcdd02140c370245744b35aec69dd11c184b07",
"body": null,
"is_bot": false,
"headline": "Update poetry for pip package",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-12-26T02:31:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef6e1f42f25a7931bef001fbb7c7a4e831d20152",
"body": null,
"is_bot": false,
"headline": "Make NPM package work with node 20",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-12-26T02:27:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "519b29a1f1393218a95703f90da29fd0e7a79d5e",
"body": null,
"is_bot": false,
"headline": "Working UTF8 encoding for data files",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-12-26T02:00:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "23f7cd4c33235addc6f1c0cccf8a7fc666c38a9d",
"body": null,
"is_bot": false,
"headline": "Fix for UTF8 encoding of data files",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-12-26T01:57:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "db5f6d00709a95dc030fa200c0c4758cd2b44a96",
"body": null,
"is_bot": false,
"headline": "Update credits file",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-11-21T06:24:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "812f5406f4064c01fd8f4329042b0d0a0fdaeebe",
"body": null,
"is_bot": false,
"headline": "Perform data update",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-11-21T06:16:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6c5770a18282a43c722c5e874abc5d199e7269bd",
"body": null,
"is_bot": false,
"headline": "Clean up RuboCop",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-11-21T06:16:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b86fb503141d7894a7ef6b040f3c894f280151a2",
"body": null,
"is_bot": false,
"headline": "Add recommended extensions for VSCode",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-11-21T06:15:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "415c4df3def37a22a300d4f96c5070e743ec8602",
"body": null,
"is_bot": false,
"headline": "Update dependencies in bundler",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-11-21T06:14:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c8b5ea1247dd25a2c1f3d0baac5f9b61692f41a",
"body": null,
"is_bot": false,
"headline": "Update update.yml",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-02-27T06:41:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "376fc6ec3bb14cd5a1d2b1014e9d9dcbc94c90f1",
"body": null,
"is_bot": false,
"headline": "Update update.yml",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-02-27T06:36:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24a3fff3c17515861a3c5045f3bafca24d30e63d",
"body": null,
"is_bot": false,
"headline": "Update publish-npm.yml",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-01-24T19:40:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0e30f9a3a1fd8278e1030949e6fabe7b14ab96c3",
"body": null,
"is_bot": false,
"headline": "Update publish-npm.yml",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-01-24T19:36:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1db617a89f9ff13568b4b0e5ad0b492812c5aaf6",
"body": null,
"is_bot": false,
"headline": "Update publish-gem.yml",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-01-24T19:34:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a441dd68d3ea27eb2174dbc9cb405b61216eca3d",
"body": null,
"is_bot": false,
"headline": "Update publish-npm.yml",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-01-24T19:32:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c3229c911fcaf48285f2379967e5da4ad40bce15",
"body": null,
"is_bot": false,
"headline": "Update publish-gem.yml",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-01-24T19:24:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "93318da35aa386e8310f6366a6b548a85fdf1f7a",
"body": null,
"is_bot": false,
"headline": "Update publish-gem.yml",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-01-24T19:21:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9493e5d11f3ac5335a3b2dfe40463c121e440ab2",
"body": "Co-authored-by: Rick Mark <rickmark@meta.com>",
"is_bot": false,
"headline": "Add lockdownd services (#118)",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-01-24T19:14:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cdd759964494715c7573601ac7d84c901e7fb076",
"body": "* Add iPad13,19/iPad14,4/iPad14,6 baseband cert IDs\r\n\r\n* Add January 2023 products (M2 Pro, M2 Max)\r\n\r\nCo-authored-by: Rick Mark <rickmark@outlook.com>",
"is_bot": false,
"headline": "Add October iPad baseband cert IDs and January 2023 products (#117)",
"author_name": "Dhinak G",
"author_login": null,
"committed_at": "2023-01-24T17:14:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5b5d5630135da38a616ad054bab340414f216dc3",
"body": null,
"is_bot": false,
"headline": "Update lightning.yaml",
"author_name": "Rick Mark",
"author_login": "rickmark",
"committed_at": "2023-01-23T23:29:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3789e04259838f01a0776c4aefbf325806461014",
"body": "Co-authored-by: Rick Mark <rickmark@outlook.com>",
"is_bot": false,
"headline": "Fix Discord channel reference, Hex-Rays typo in README (#112)",
"author_name": "Jon Palmisciano",
"author_login": "jonpalmisc",
"committed_at": "2022-12-28T18:33:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "59a1db4ba3f491efc19f9473b36527f13c2c27b5",
"body": "* Fix T8027 description, A4 name\r\n\r\n* Update T8002 and T8301 descriptions with additional \"recent\" SoC names",
"is_bot": false,
"headline": "Fix T8027 description, A4 name; update T8002, T8301 descriptions (#111)",
"author_name": "Jon Palmisciano",
"author_login": "jonpalmisc",
"committed_at": "2022-12-28T17:55:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f48e9eb50554062355df5cd872f1ac192cae2509",
"body": "Co-authored-by: Rick Mark <rickmark@outlook.com>",
"is_bot": false,
"headline": "Fix descriptions for T8015, T8020 SoCs (#110)",
"author_name": "Jon Palmisciano",
"author_login": "jonpalmisc",
"committed_at": "2022-12-27T23:17:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fe9b7f1aff583ada3e86797b3404a3e0b9d51fb7",
"body": "Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.9 to 1.13.10.\r\n- [Release notes](https://github.com/sparklemotion/nokogiri/releases)\r\n- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)\r\n- [Commits](https://github.com/sparklemotion/nokogiri/compare/v\n[…]\n\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump nokogiri from 1.13.9 to 1.13.10 (#108)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2022-12-27T22:50:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "04ea4c91ec370f4cc03bfb2849c1c151d6c0c44e",
"body": null,
"is_bot": false,
"headline": "Update Jailbreak Section (again) (#107)",
"author_name": "0x8ff",
"author_login": null,
"committed_at": "2022-12-01T22:30:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "77b58116346f0386a3b903891fcfc302fe6eb695",
"body": "* Add CoolStar & tihmstar Nullcon2022 slides\r\n\r\n* Update Jailbreak section\r\n\r\n* [TEMPORARY] Replace tihmstar.net with cameronkatri.com, as the former page is down\r\n\r\n* Fix CI",
"is_bot": false,
"headline": "Update Jailbreak section in README.md (#105)",
"author_name": "0x8ff",
"author_login": null,
"committed_at": "2022-11-20T04:25:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d37f6cd3ab4fb374680b2e45af5e5bae61542bb",
"body": "Apple Watch SE, Series 8, Ultra\r\niPhone 14 series\r\n\r\nCo-authored-by: Rick Mark <rickmark@outlook.com>",
"is_bot": false,
"headline": "Add more baseband certificate IDs (#97)",
"author_name": "Dhinak G",
"author_login": null,
"committed_at": "2022-10-31T05:39:38Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 0,
"commits_last_year": 8,
"latest_release_at": null,
"latest_release_tag": null,
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 4,
"days_since_latest_release": null,
"mean_days_between_releases": null
},
"artifacts": {
"collected": true,
"structure": [],
"declarations": [
{
"name": "apple-data",
"path": "_packages/node/package.json",
"tokens": [
"npm.entry"
],
"ecosystem": "npm"
},
{
"name": "apple-data",
"path": "_packages/ruby/apple-data.gemspec",
"tokens": [
"gem.gemspec"
],
"ecosystem": "rubygems"
}
]
},
"community": {
"has_readme": true,
"has_license": true,
"readme_badges": {
"hosts": [],
"total": 0,
"header": 0,
"collected": true,
"has_inspect_badge": false
},
"has_description": true,
"has_contributing": false,
"health_percentage": 50,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "apple-data",
"exists": true,
"license": "MIT",
"keywords": [
"apple",
"data",
"hardware",
"hack-different",
"popular",
"jailbreak"
],
"ecosystem": "npm",
"categories": [],
"matches_repo": null,
"registry_url": "https://www.npmjs.com/package/apple-data",
"declared_type": null,
"is_deprecated": false,
"latest_version": "1.0.574",
"repository_url": null,
"versions_count": 127,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 175,
"first_published_at": "2022-03-10T05:19:13.627000Z",
"latest_published_at": "2023-12-26T03:09:36.591000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 952
},
{
"name": "apple-data",
"exists": true,
"license": null,
"keywords": [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9"
],
"ecosystem": "pypi",
"categories": [],
"matches_repo": null,
"registry_url": "https://pypi.org/project/apple-data/",
"declared_type": null,
"is_deprecated": false,
"latest_version": "1.0.533",
"repository_url": "",
"versions_count": 129,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 193,
"first_published_at": "2022-03-10T08:24:03.237443Z",
"latest_published_at": "2022-10-28T17:43:39.569435Z",
"latest_version_yanked": null,
"days_since_latest_publish": 1375
},
{
"name": "apple-data",
"exists": true,
"license": "MIT",
"keywords": [],
"ecosystem": "rubygems",
"categories": [],
"matches_repo": true,
"registry_url": "https://rubygems.org/gems/apple-data",
"declared_type": null,
"is_deprecated": false,
"latest_version": "1.0.649",
"repository_url": "https://github.com/hack-different/apple-knowledge",
"versions_count": 183,
"total_downloads": 156113,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": "2022-03-10T08:10:57.458000Z",
"latest_published_at": "2026-08-04T09:42:44.676000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 0
}
]
},
"popularity": {
"forks": 107,
"stars": 1360,
"watchers": 33,
"fork_history": {
"days": [
{
"date": "2021-12-07",
"count": 2
},
{
"date": "2021-12-21",
"count": 1
},
{
"date": "2021-12-22",
"count": 1
},
{
"date": "2021-12-26",
"count": 1
},
{
"date": "2021-12-28",
"count": 2
},
{
"date": "2021-12-31",
"count": 1
},
{
"date": "2022-01-06",
"count": 1
},
{
"date": "2022-01-11",
"count": 1
},
{
"date": "2022-01-17",
"count": 2
},
{
"date": "2022-01-18",
"count": 1
},
{
"date": "2022-01-24",
"count": 1
},
{
"date": "2022-02-05",
"count": 1
},
{
"date": "2022-02-11",
"count": 1
},
{
"date": "2022-02-14",
"count": 1
},
{
"date": "2022-03-23",
"count": 1
},
{
"date": "2022-04-06",
"count": 1
},
{
"date": "2022-04-22",
"count": 1
},
{
"date": "2022-04-23",
"count": 1
},
{
"date": "2022-05-09",
"count": 1
},
{
"date": "2022-08-14",
"count": 1
},
{
"date": "2022-08-28",
"count": 1
},
{
"date": "2022-09-01",
"count": 1
},
{
"date": "2022-09-02",
"count": 1
},
{
"date": "2022-10-08",
"count": 1
},
{
"date": "2022-10-17",
"count": 1
},
{
"date": "2022-11-16",
"count": 1
},
{
"date": "2022-11-21",
"count": 1
},
{
"date": "2022-11-22",
"count": 1
},
{
"date": "2022-11-23",
"count": 1
},
{
"date": "2022-12-17",
"count": 1
},
{
"date": "2023-01-10",
"count": 1
},
{
"date": "2023-01-17",
"count": 1
},
{
"date": "2023-01-29",
"count": 1
},
{
"date": "2023-02-25",
"count": 1
},
{
"date": "2023-02-26",
"count": 1
},
{
"date": "2023-03-11",
"count": 1
},
{
"date": "2023-03-22",
"count": 2
},
{
"date": "2023-04-14",
"count": 1
},
{
"date": "2023-04-16",
"count": 2
},
{
"date": "2023-04-19",
"count": 1
},
{
"date": "2023-04-28",
"count": 1
},
{
"date": "2023-06-11",
"count": 1
},
{
"date": "2023-07-19",
"count": 1
},
{
"date": "2023-10-13",
"count": 1
},
{
"date": "2023-10-26",
"count": 1
},
{
"date": "2023-11-08",
"count": 1
},
{
"date": "2023-12-12",
"count": 1
},
{
"date": "2024-01-05",
"count": 1
},
{
"date": "2024-01-13",
"count": 1
},
{
"date": "2024-02-02",
"count": 1
},
{
"date": "2024-03-15",
"count": 1
},
{
"date": "2024-03-18",
"count": 2
},
{
"date": "2024-03-19",
"count": 1
},
{
"date": "2024-03-26",
"count": 1
},
{
"date": "2024-06-07",
"count": 1
},
{
"date": "2024-06-18",
"count": 1
},
{
"date": "2024-08-20",
"count": 1
},
{
"date": "2024-09-24",
"count": 1
},
{
"date": "2024-10-12",
"count": 1
},
{
"date": "2024-10-21",
"count": 4
},
{
"date": "2024-11-22",
"count": 1
},
{
"date": "2024-12-05",
"count": 1
},
{
"date": "2024-12-14",
"count": 1
},
{
"date": "2025-01-07",
"count": 2
},
{
"date": "2025-01-15",
"count": 1
},
{
"date": "2025-02-25",
"count": 1
},
{
"date": "2025-03-10",
"count": 1
},
{
"date": "2025-03-12",
"count": 1
},
{
"date": "2025-04-23",
"count": 1
},
{
"date": "2025-05-11",
"count": 1
},
{
"date": "2025-05-30",
"count": 1
},
{
"date": "2025-05-31",
"count": 1
},
{
"date": "2025-06-18",
"count": 1
},
{
"date": "2025-06-27",
"count": 1
},
{
"date": "2025-07-01",
"count": 1
},
{
"date": "2025-09-06",
"count": 1
},
{
"date": "2025-09-20",
"count": 1
},
{
"date": "2025-09-23",
"count": 1
},
{
"date": "2025-10-03",
"count": 1
},
{
"date": "2025-10-21",
"count": 1
},
{
"date": "2025-11-25",
"count": 1
},
{
"date": "2025-12-13",
"count": 1
},
{
"date": "2026-02-11",
"count": 1
},
{
"date": "2026-02-22",
"count": 1
},
{
"date": "2026-03-02",
"count": 1
},
{
"date": "2026-03-19",
"count": 1
},
{
"date": "2026-04-21",
"count": 1
},
{
"date": "2026-06-12",
"count": 1
},
{
"date": "2026-06-23",
"count": 1
},
{
"date": "2026-07-30",
"count": 1
}
],
"complete": true,
"collected": 100,
"total_forks": 107
},
"star_history": null,
"open_issues_and_prs": 3
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [
"lib/merkledag.proto"
],
"has_devcontainer": false,
"typecheck_configs": [
"_packages/node/tsconfig.json",
"_packages/python/apple_data/py.typed"
],
"toolchain_manifests": [],
"largest_source_bytes": 20357,
"source_files_sampled": 39,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"Gemfile"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "commonmarker",
"direct": false,
"version": "0.21.1",
"severity": "high",
"ecosystem": "rubygems",
"cvss_score": 8.8,
"advisory_ids": [
"GHSA-48wp-p9qv-4j64",
"GHSA-4qw4-jpp4-8gvp",
"GHSA-636f-xm5j-pj9m",
"GHSA-7vh7-fw88-wj87",
"GHSA-fmx4-26r3-wxpf"
],
"fixed_version": "0.23.10",
"advisory_count": 5,
"oldest_advisory_days": 1614
},
{
"name": "pytest",
"direct": false,
"version": "7.4.3",
"severity": "moderate",
"ecosystem": "pypi",
"cvss_score": 6.8,
"advisory_ids": [
"GHSA-6w46-j5rx-g56g",
"PYSEC-2026-1845"
],
"fixed_version": "9.0.3",
"advisory_count": 2,
"oldest_advisory_days": 194
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 1,
"moderate": 1
},
"advisory_count": 7,
"affected_count": 2,
"assessed_count": 205,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 14,
"direct_affected_count": 0
},
"ecosystems": [
"rubygems"
],
"dependencies": [
{
"name": "activesupport",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "jekyll",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "jsonpath",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "plist",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "rbs",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "sorbet-runtime",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "toml",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "apple-data",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "jekyll-coffeescript",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "jekyll-commonmark",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "jekyll-default-layout",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "jekyll-gist",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "jekyll-github-metadata",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "jekyll-mentions",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "jekyll-optional-front-matter",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "jekyll-paginate",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "jekyll-readme-index",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "jekyll-relative-links",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "jekyll-remote-theme",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "jekyll-seo-tag",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "jekyll-titles-from-headings",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
},
{
"name": "pathutil",
"manifest": "_packages/ruby/Gemfile",
"ecosystem": "rubygems",
"version_constraint": null
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "activesupport",
"direct": true,
"version": "8.1.3.1",
"ecosystem": "rubygems"
},
{
"name": "jekyll",
"direct": true,
"version": "4.4.1",
"ecosystem": "rubygems"
},
{
"name": "jekyll-coffeescript",
"direct": true,
"version": "2.0.0",
"ecosystem": "rubygems"
},
{
"name": "jekyll-commonmark",
"direct": true,
"version": "1.3.1",
"ecosystem": "rubygems"
},
{
"name": "jekyll-default-layout",
"direct": true,
"version": "0.2.0",
"ecosystem": "rubygems"
},
{
"name": "jekyll-gist",
"direct": true,
"version": "1.5.0",
"ecosystem": "rubygems"
},
{
"name": "jekyll-github-metadata",
"direct": true,
"version": "2.16.1",
"ecosystem": "rubygems"
},
{
"name": "jekyll-mentions",
"direct": true,
"version": "1.6.0",
"ecosystem": "rubygems"
},
{
"name": "jekyll-optional-front-matter",
"direct": true,
"version": "0.3.3",
"ecosystem": "rubygems"
},
{
"name": "jekyll-paginate",
"direct": true,
"version": "1.1.0",
"ecosystem": "rubygems"
},
{
"name": "jekyll-readme-index",
"direct": true,
"version": "0.4.0",
"ecosystem": "rubygems"
},
{
"name": "jekyll-relative-links",
"direct": true,
"version": "0.8.0",
"ecosystem": "rubygems"
},
{
"name": "jekyll-remote-theme",
"direct": true,
"version": "0.5.2",
"ecosystem": "rubygems"
},
{
"name": "jekyll-seo-tag",
"direct": true,
"version": "2.9.0",
"ecosystem": "rubygems"
},
{
"name": "jekyll-titles-from-headings",
"direct": true,
"version": "0.5.4",
"ecosystem": "rubygems"
},
{
"name": "jsonpath",
"direct": true,
"version": "1.1.5",
"ecosystem": "rubygems"
},
{
"name": "pathutil",
"direct": true,
"version": "0.16.2",
"ecosystem": "rubygems"
},
{
"name": "plist",
"direct": true,
"version": "3.7.2",
"ecosystem": "rubygems"
},
{
"name": "rbs",
"direct": true,
"version": "4.1.2",
"ecosystem": "rubygems"
},
{
"name": "sorbet-runtime",
"direct": true,
"version": "0.6.13403",
"ecosystem": "rubygems"
},
{
"name": "toml",
"direct": true,
"version": "0.3.0",
"ecosystem": "rubygems"
},
{
"name": "@babel/preset-env",
"direct": false,
"version": "^7.18.9",
"ecosystem": "npm"
},
{
"name": "@babel/preset-typescript",
"direct": false,
"version": "^7.18.6",
"ecosystem": "npm"
},
{
"name": "@types/glob",
"direct": false,
"version": "^7.2.0",
"ecosystem": "npm"
},
{
"name": "@types/jest",
"direct": false,
"version": "^28.1.6",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "^17.0.21",
"ecosystem": "npm"
},
{
"name": "@types/semver",
"direct": false,
"version": "^7.3.9",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "^8.0.3",
"ecosystem": "npm"
},
{
"name": "jest",
"direct": false,
"version": "^28.1.3",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "^10.2.6",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "^7.3.5",
"ecosystem": "npm"
},
{
"name": "ts-node",
"direct": false,
"version": "^10.7.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "^2.12.0",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "^4.6.2",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "^2.2.2",
"ecosystem": "npm"
},
{
"name": "colorama",
"direct": false,
"version": "0.4.6",
"ecosystem": "pypi"
},
{
"name": "exceptiongroup",
"direct": false,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "iniconfig",
"direct": false,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "packaging",
"direct": false,
"version": "23.2",
"ecosystem": "pypi"
},
{
"name": "pluggy",
"direct": false,
"version": "1.3.0",
"ecosystem": "pypi"
},
{
"name": "pytest",
"direct": false,
"version": "7.4.3",
"ecosystem": "pypi"
},
{
"name": "pyyaml",
"direct": false,
"version": "6.0.1",
"ecosystem": "pypi"
},
{
"name": "tomli",
"direct": false,
"version": "2.0.1",
"ecosystem": "pypi"
},
{
"name": "actionpack",
"direct": false,
"version": "8.1.3.1",
"ecosystem": "rubygems"
},
{
"name": "actionview",
"direct": false,
"version": "8.1.3.1",
"ecosystem": "rubygems"
},
{
"name": "addressable",
"direct": false,
"version": "2.9.0",
"ecosystem": "rubygems"
},
{
"name": "ast",
"direct": false,
"version": "2.4.3",
"ecosystem": "rubygems"
},
{
"name": "awesome_print",
"direct": false,
"version": "1.9.2",
"ecosystem": "rubygems"
},
{
"name": "base64",
"direct": false,
"version": "0.3.0",
"ecosystem": "rubygems"
},
{
"name": "base_x",
"direct": false,
"version": "0.8.1",
"ecosystem": "rubygems"
},
{
"name": "bigdecimal",
"direct": false,
"version": "3.3.1",
"ecosystem": "rubygems"
},
{
"name": "bls12-381",
"direct": false,
"version": "0.3.1",
"ecosystem": "rubygems"
},
{
"name": "builder",
"direct": false,
"version": "3.3.0",
"ecosystem": "rubygems"
},
{
"name": "bundle-audit",
"direct": false,
"version": "0.2.0",
"ecosystem": "rubygems"
},
{
"name": "bundler-audit",
"direct": false,
"version": "0.9.3",
"ecosystem": "rubygems"
},
{
"name": "byebug",
"direct": false,
"version": "13.0.0",
"ecosystem": "rubygems"
},
{
"name": "CFPropertyList",
"direct": false,
"version": "4.0.0",
"ecosystem": "rubygems"
},
{
"name": "chef-utils",
"direct": false,
"version": "19.3.15",
"ecosystem": "rubygems"
},
{
"name": "childprocess",
"direct": false,
"version": "5.1.0",
"ecosystem": "rubygems"
},
{
"name": "cid",
"direct": false,
"version": "0.0.2",
"ecosystem": "rubygems"
},
{
"name": "coderay",
"direct": false,
"version": "1.1.3",
"ecosystem": "rubygems"
},
{
"name": "coffee-script",
"direct": false,
"version": "2.4.1",
"ecosystem": "rubygems"
},
{
"name": "coffee-script-source",
"direct": false,
"version": "1.12.2",
"ecosystem": "rubygems"
},
{
"name": "colorator",
"direct": false,
"version": "1.1.0",
"ecosystem": "rubygems"
},
{
"name": "colorize",
"direct": false,
"version": "1.1.0",
"ecosystem": "rubygems"
},
{
"name": "commonmarker",
"direct": false,
"version": "0.21.1",
"ecosystem": "rubygems"
},
{
"name": "concurrent-ruby",
"direct": false,
"version": "1.3.8",
"ecosystem": "rubygems"
},
{
"name": "connection_pool",
"direct": false,
"version": "3.0.2",
"ecosystem": "rubygems"
},
{
"name": "crass",
"direct": false,
"version": "1.0.7",
"ecosystem": "rubygems"
},
{
"name": "csv",
"direct": false,
"version": "3.3.6",
"ecosystem": "rubygems"
},
{
"name": "csvlint",
"direct": false,
"version": "0.3.2",
"ecosystem": "rubygems"
},
{
"name": "diff-lcs",
"direct": false,
"version": "1.6.2",
"ecosystem": "rubygems"
},
{
"name": "domain_name",
"direct": false,
"version": "0.6.20240107",
"ecosystem": "rubygems"
},
{
"name": "dotenv",
"direct": false,
"version": "3.2.0",
"ecosystem": "rubygems"
},
{
"name": "dotenv-rails",
"direct": false,
"version": "3.2.0",
"ecosystem": "rubygems"
},
{
"name": "drb",
"direct": false,
"version": "2.2.3",
"ecosystem": "rubygems"
},
{
"name": "ecdsa",
"direct": false,
"version": "1.2.0",
"ecosystem": "rubygems"
},
{
"name": "em-websocket",
"direct": false,
"version": "0.5.3",
"ecosystem": "rubygems"
},
{
"name": "erb",
"direct": false,
"version": "6.0.6",
"ecosystem": "rubygems"
},
{
"name": "erubi",
"direct": false,
"version": "1.13.1",
"ecosystem": "rubygems"
},
{
"name": "escape_utils",
"direct": false,
"version": "1.3.0",
"ecosystem": "rubygems"
},
{
"name": "eth",
"direct": false,
"version": "0.5.17",
"ecosystem": "rubygems"
},
{
"name": "ethon",
"direct": false,
"version": "0.18.0",
"ecosystem": "rubygems"
},
{
"name": "eventmachine",
"direct": false,
"version": "1.2.7",
"ecosystem": "rubygems"
},
{
"name": "execjs",
"direct": false,
"version": "2.10.1",
"ecosystem": "rubygems"
},
{
"name": "expression_parser",
"direct": false,
"version": "0.9.0",
"ecosystem": "rubygems"
},
{
"name": "faraday",
"direct": false,
"version": "2.14.3",
"ecosystem": "rubygems"
},
{
"name": "faraday-cookie_jar",
"direct": false,
"version": "0.0.8",
"ecosystem": "rubygems"
},
{
"name": "faraday-follow_redirects",
"direct": false,
"version": "0.5.0",
"ecosystem": "rubygems"
},
{
"name": "faraday-multipart",
"direct": false,
"version": "1.2.0",
"ecosystem": "rubygems"
},
{
"name": "faraday-net_http",
"direct": false,
"version": "3.4.4",
"ecosystem": "rubygems"
},
{
"name": "faraday-retry",
"direct": false,
"version": "2.4.0",
"ecosystem": "rubygems"
},
{
"name": "ffi",
"direct": false,
"version": "1.17.4",
"ecosystem": "rubygems"
},
{
"name": "ffi-compiler",
"direct": false,
"version": "1.4.2",
"ecosystem": "rubygems"
},
{
"name": "fileutils",
"direct": false,
"version": "1.8.0",
"ecosystem": "rubygems"
},
{
"name": "forwardable",
"direct": false,
"version": "1.4.0",
"ecosystem": "rubygems"
},
{
"name": "forwardable-extended",
"direct": false,
"version": "2.6.0",
"ecosystem": "rubygems"
},
{
"name": "google-protobuf",
"direct": false,
"version": "4.35.1",
"ecosystem": "rubygems"
},
{
"name": "h2c",
"direct": false,
"version": "0.2.1",
"ecosystem": "rubygems"
},
{
"name": "hashie",
"direct": false,
"version": "5.1.0",
"ecosystem": "rubygems"
},
{
"name": "html-pipeline",
"direct": false,
"version": "2.14.3",
"ecosystem": "rubygems"
},
{
"name": "htmlentities",
"direct": false,
"version": "4.4.2",
"ecosystem": "rubygems"
},
{
"name": "http-2",
"direct": false,
"version": "1.2.1",
"ecosystem": "rubygems"
},
{
"name": "http-cookie",
"direct": false,
"version": "1.1.6",
"ecosystem": "rubygems"
},
{
"name": "http_parser.rb",
"direct": false,
"version": "0.8.1",
"ecosystem": "rubygems"
},
{
"name": "httpx",
"direct": false,
"version": "1.8.1",
"ecosystem": "rubygems"
},
{
"name": "i18n",
"direct": false,
"version": "1.15.2",
"ecosystem": "rubygems"
},
{
"name": "idn-ruby",
"direct": false,
"version": "0.1.5",
"ecosystem": "rubygems"
},
{
"name": "iniparse",
"direct": false,
"version": "1.5.0",
"ecosystem": "rubygems"
},
{
"name": "io-console",
"direct": false,
"version": "0.8.2",
"ecosystem": "rubygems"
},
{
"name": "irb",
"direct": false,
"version": "1.18.0",
"ecosystem": "rubygems"
},
{
"name": "jekyll-sass-converter",
"direct": false,
"version": "3.1.0",
"ecosystem": "rubygems"
},
{
"name": "jekyll-watch",
"direct": false,
"version": "2.2.1",
"ecosystem": "rubygems"
},
{
"name": "json",
"direct": false,
"version": "2.21.2",
"ecosystem": "rubygems"
},
{
"name": "keccak",
"direct": false,
"version": "1.3.3",
"ecosystem": "rubygems"
},
{
"name": "konstructor",
"direct": false,
"version": "1.0.2",
"ecosystem": "rubygems"
},
{
"name": "kramdown",
"direct": false,
"version": "2.5.2",
"ecosystem": "rubygems"
},
{
"name": "kramdown-parser-gfm",
"direct": false,
"version": "1.1.0",
"ecosystem": "rubygems"
},
{
"name": "language_server-protocol",
"direct": false,
"version": "3.17.0.6",
"ecosystem": "rubygems"
},
{
"name": "lint_roller",
"direct": false,
"version": "1.1.0",
"ecosystem": "rubygems"
},
{
"name": "liquid",
"direct": false,
"version": "4.0.4",
"ecosystem": "rubygems"
},
{
"name": "listen",
"direct": false,
"version": "3.10.0",
"ecosystem": "rubygems"
},
{
"name": "logger",
"direct": false,
"version": "1.7.0",
"ecosystem": "rubygems"
},
{
"name": "loofah",
"direct": false,
"version": "2.25.2",
"ecosystem": "rubygems"
},
{
"name": "manpages",
"direct": false,
"version": "0.7.0",
"ecosystem": "rubygems"
},
{
"name": "mdl",
"direct": false,
"version": "0.17.0",
"ecosystem": "rubygems"
},
{
"name": "mediawiki_api",
"direct": false,
"version": "0.9.0",
"ecosystem": "rubygems"
},
{
"name": "mercenary",
"direct": false,
"version": "0.4.0",
"ecosystem": "rubygems"
},
{
"name": "merkle_tree",
"direct": false,
"version": "0.2.0",
"ecosystem": "rubygems"
},
{
"name": "method_source",
"direct": false,
"version": "1.1.0",
"ecosystem": "rubygems"
},
{
"name": "mime-types",
"direct": false,
"version": "3.7.0",
"ecosystem": "rubygems"
},
{
"name": "mime-types-data",
"direct": false,
"version": "3.2026.0701",
"ecosystem": "rubygems"
},
{
"name": "mini_portile2",
"direct": false,
"version": "2.8.9",
"ecosystem": "rubygems"
},
{
"name": "minitest",
"direct": false,
"version": "6.0.6",
"ecosystem": "rubygems"
},
{
"name": "mixlib-cli",
"direct": false,
"version": "2.1.8",
"ecosystem": "rubygems"
},
{
"name": "mixlib-config",
"direct": false,
"version": "3.0.27",
"ecosystem": "rubygems"
},
{
"name": "mixlib-shellout",
"direct": false,
"version": "3.4.10",
"ecosystem": "rubygems"
},
{
"name": "multi_json",
"direct": false,
"version": "1.21.1",
"ecosystem": "rubygems"
},
{
"name": "multibases",
"direct": false,
"version": "0.3.2",
"ecosystem": "rubygems"
},
{
"name": "multicodecs",
"direct": false,
"version": "0.2.1",
"ecosystem": "rubygems"
},
{
"name": "multihashes",
"direct": false,
"version": "0.2.0",
"ecosystem": "rubygems"
},
{
"name": "multipart-post",
"direct": false,
"version": "2.4.1",
"ecosystem": "rubygems"
},
{
"name": "net-http",
"direct": false,
"version": "0.9.1",
"ecosystem": "rubygems"
},
{
"name": "nkf",
"direct": false,
"version": "0.3.0",
"ecosystem": "rubygems"
},
{
"name": "nokogiri",
"direct": false,
"version": "1.19.4",
"ecosystem": "rubygems"
},
{
"name": "octokit",
"direct": false,
"version": "4.25.1",
"ecosystem": "rubygems"
},
{
"name": "open_uri_redirections",
"direct": false,
"version": "0.2.1",
"ecosystem": "rubygems"
},
{
"name": "openssl",
"direct": false,
"version": "3.3.3",
"ecosystem": "rubygems"
},
{
"name": "overcommit",
"direct": false,
"version": "0.72.0",
"ecosystem": "rubygems"
},
{
"name": "parallel",
"direct": false,
"version": "2.1.0",
"ecosystem": "rubygems"
},
{
"name": "parser",
"direct": false,
"version": "3.3.12.0",
"ecosystem": "rubygems"
},
{
"name": "parslet",
"direct": false,
"version": "2.0.0",
"ecosystem": "rubygems"
},
{
"name": "pkg-config",
"direct": false,
"version": "1.6.5",
"ecosystem": "rubygems"
},
{
"name": "pp",
"direct": false,
"version": "0.6.4",
"ecosystem": "rubygems"
},
{
"name": "prettyprint",
"direct": false,
"version": "0.2.0",
"ecosystem": "rubygems"
},
{
"name": "prism",
"direct": false,
"version": "1.9.0",
"ecosystem": "rubygems"
},
{
"name": "pry",
"direct": false,
"version": "0.16.0",
"ecosystem": "rubygems"
},
{
"name": "public_suffix",
"direct": false,
"version": "7.0.5",
"ecosystem": "rubygems"
},
{
"name": "racc",
"direct": false,
"version": "1.8.1",
"ecosystem": "rubygems"
},
{
"name": "rack",
"direct": false,
"version": "3.2.6",
"ecosystem": "rubygems"
},
{
"name": "rack-session",
"direct": false,
"version": "2.1.2",
"ecosystem": "rubygems"
},
{
"name": "rack-test",
"direct": false,
"version": "2.2.0",
"ecosystem": "rubygems"
},
{
"name": "rackup",
"direct": false,
"version": "2.3.1",
"ecosystem": "rubygems"
},
{
"name": "rails-dom-testing",
"direct": false,
"version": "2.3.0",
"ecosystem": "rubygems"
},
{
"name": "rails-html-sanitizer",
"direct": false,
"version": "1.7.1",
"ecosystem": "rubygems"
},
{
"name": "railties",
"direct": false,
"version": "8.1.3.1",
"ecosystem": "rubygems"
},
{
"name": "rainbow",
"direct": false,
"version": "3.1.1",
"ecosystem": "rubygems"
},
{
"name": "rake",
"direct": false,
"version": "13.4.2",
"ecosystem": "rubygems"
},
{
"name": "rate_throttle_client",
"direct": false,
"version": "0.1.2",
"ecosystem": "rubygems"
},
{
"name": "rb-fsevent",
"direct": false,
"version": "0.11.2",
"ecosystem": "rubygems"
},
{
"name": "rb-inotify",
"direct": false,
"version": "0.11.1",
"ecosystem": "rubygems"
},
{
"name": "rbsecp256k1",
"direct": false,
"version": "6.0.0",
"ecosystem": "rubygems"
},
{
"name": "rdoc",
"direct": false,
"version": "8.0.0",
"ecosystem": "rubygems"
},
{
"name": "regexp_parser",
"direct": false,
"version": "2.12.0",
"ecosystem": "rubygems"
},
{
"name": "reline",
"direct": false,
"version": "0.6.3",
"ecosystem": "rubygems"
},
{
"name": "rexml",
"direct": false,
"version": "3.4.4",
"ecosystem": "rubygems"
},
{
"name": "rouge",
"direct": false,
"version": "4.7.0",
"ecosystem": "rubygems"
},
{
"name": "rspec",
"direct": false,
"version": "3.13.2",
"ecosystem": "rubygems"
},
{
"name": "rspec-core",
"direct": false,
"version": "3.13.6",
"ecosystem": "rubygems"
},
{
"name": "rspec-expectations",
"direct": false,
"version": "3.13.5",
"ecosystem": "rubygems"
},
{
"name": "rspec-mocks",
"direct": false,
"version": "3.13.8",
"ecosystem": "rubygems"
},
{
"name": "rspec-rake",
"direct": false,
"version": "0.0.4",
"ecosystem": "rubygems"
},
{
"name": "rspec-support",
"direct": false,
"version": "3.13.7",
"ecosystem": "rubygems"
},
{
"name": "rubocop",
"direct": false,
"version": "1.88.2",
"ecosystem": "rubygems"
},
{
"name": "rubocop-ast",
"direct": false,
"version": "1.50.0",
"ecosystem": "rubygems"
},
{
"name": "rubocop-rake",
"direct": false,
"version": "0.7.1",
"ecosystem": "rubygems"
},
{
"name": "rubocop-rspec",
"direct": false,
"version": "3.10.2",
"ecosystem": "rubygems"
},
{
"name": "ruby-enum",
"direct": false,
"version": "0.9.0",
"ecosystem": "rubygems"
},
{
"name": "ruby-macho",
"direct": false,
"version": "6.0.0",
"ecosystem": "rubygems"
},
{
"name": "ruby-progressbar",
"direct": false,
"version": "1.13.0",
"ecosystem": "rubygems"
},
{
"name": "rubyzip",
"direct": false,
"version": "2.4.1",
"ecosystem": "rubygems"
},
{
"name": "safe_yaml",
"direct": false,
"version": "1.0.5",
"ecosystem": "rubygems"
},
{
"name": "sass-embedded",
"direct": false,
"version": "1.102.0",
"ecosystem": "rubygems"
},
{
"name": "sawyer",
"direct": false,
"version": "0.9.3",
"ecosystem": "rubygems"
},
{
"name": "scrypt",
"direct": false,
"version": "3.1.0",
"ecosystem": "rubygems"
},
{
"name": "securerandom",
"direct": false,
"version": "0.4.1",
"ecosystem": "rubygems"
},
{
"name": "sqlite3",
"direct": false,
"version": "2.9.5",
"ecosystem": "rubygems"
},
{
"name": "steep",
"direct": false,
"version": "2.0.0",
"ecosystem": "rubygems"
},
{
"name": "strscan",
"direct": false,
"version": "3.1.8",
"ecosystem": "rubygems"
},
{
"name": "terminal-table",
"direct": false,
"version": "3.0.2",
"ecosystem": "rubygems"
},
{
"name": "terminal-table",
"direct": false,
"version": "4.0.0",
"ecosystem": "rubygems"
},
{
"name": "thor",
"direct": false,
"version": "1.5.0",
"ecosystem": "rubygems"
},
{
"name": "tomlrb",
"direct": false,
"version": "2.0.4",
"ecosystem": "rubygems"
},
{
"name": "tsort",
"direct": false,
"version": "0.2.0",
"ecosystem": "rubygems"
},
{
"name": "twitter-text",
"direct": false,
"version": "3.1.0",
"ecosystem": "rubygems"
},
{
"name": "typeprof",
"direct": false,
"version": "0.32.0",
"ecosystem": "rubygems"
},
{
"name": "typhoeus",
"direct": false,
"version": "1.6.0",
"ecosystem": "rubygems"
},
{
"name": "tzinfo",
"direct": false,
"version": "2.0.6",
"ecosystem": "rubygems"
},
{
"name": "unf",
"direct": false,
"version": "0.1.4",
"ecosystem": "rubygems"
},
{
"name": "unf_ext",
"direct": false,
"version": "0.0.9.1",
"ecosystem": "rubygems"
},
{
"name": "unicode-display_width",
"direct": false,
"version": "2.6.0",
"ecosystem": "rubygems"
},
{
"name": "unicode-display_width",
"direct": false,
"version": "3.2.0",
"ecosystem": "rubygems"
},
{
"name": "unicode-emoji",
"direct": false,
"version": "4.2.0",
"ecosystem": "rubygems"
},
{
"name": "uri",
"direct": false,
"version": "1.1.1",
"ecosystem": "rubygems"
},
{
"name": "uri_template",
"direct": false,
"version": "0.7.0",
"ecosystem": "rubygems"
},
{
"name": "useragent",
"direct": false,
"version": "0.16.11",
"ecosystem": "rubygems"
},
{
"name": "webrick",
"direct": false,
"version": "1.9.2",
"ecosystem": "rubygems"
},
{
"name": "wikicloth",
"direct": false,
"version": "0.8.3",
"ecosystem": "rubygems"
},
{
"name": "zeitwerk",
"direct": false,
"version": "2.8.3",
"ecosystem": "rubygems"
}
],
"collected": true,
"truncated": false,
"total_count": 219,
"direct_count": 21,
"indirect_count": 198
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 116,
"open_issues": 3,
"closed_ratio": 0.571,
"closed_issues": 4,
"closed_unmerged_prs": 27
},
"bus_factor": 1,
"bot_contributors": 2,
"top_contributors": [
{
"type": "User",
"login": "rickmark",
"commits": 444,
"avatar_url": "https://avatars.githubusercontent.com/u/125403?v=4"
},
{
"type": "User",
"login": "kpwn",
"commits": 47,
"avatar_url": "https://avatars.githubusercontent.com/u/1671686?v=4"
},
{
"type": "User",
"login": "Naville",
"commits": 33,
"avatar_url": "https://avatars.githubusercontent.com/u/5205699?v=4"
},
{
"type": "User",
"login": "matteyeux",
"commits": 18,
"avatar_url": "https://avatars.githubusercontent.com/u/8758978?v=4"
},
{
"type": "User",
"login": "jndok",
"commits": 15,
"avatar_url": "https://avatars.githubusercontent.com/u/2174072?v=4"
},
{
"type": "User",
"login": "dhinakg",
"commits": 9,
"avatar_url": "https://avatars.githubusercontent.com/u/17605561?v=4"
},
{
"type": "User",
"login": "0x41c",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/56287516?v=4"
},
{
"type": "User",
"login": "jonpalmisc",
"commits": 5,
"avatar_url": "https://avatars.githubusercontent.com/u/41548458?v=4"
},
{
"type": "User",
"login": "nicolas17",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/101955?v=4"
},
{
"type": "User",
"login": "sferrini",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/3370782?v=4"
}
],
"contributors_sampled": 30,
"top_contributor_share": 0.728
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"build-ci.yml",
"build-jekyll.yml",
"build-node.yml",
"build-python.yml",
"build-ruby.yml",
"build-test.yml",
"greetings.yml",
"label.yml",
"publish-gem.yml",
"publish-npm.yml",
"publish-pypi.yml",
"publish-site.yml",
"update.yml"
],
"has_docs_dir": false,
"linter_configs": [
".rubocop.yml"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"Gemfile.lock",
"poetry.lock"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 6,
"reason": "9 out of 15 merged PRs checked by a CI test -- score normalized to 6",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/26 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 10 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "13 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 4,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 4,
"reason": "6 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "19b9212c91bbea53138c37fa14cd3b3dfa01c095",
"ran_at": "2026-08-04T09:51:50Z",
"aggregate_score": 5.4,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": true,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"recent_prs": {
"merged_7d": 11,
"decided_7d": 11,
"merged_30d": 12,
"authors_30d": 1,
"decided_30d": 12,
"sample_size": 60,
"window_days": 30,
"sample_exhausted": false,
"authors_probed_30d": 1,
"newcomer_merged_30d": 0,
"bot_prs_excluded_30d": 0,
"newcomer_authors_30d": 0,
"newcomer_decided_30d": 0
},
"ci_last_run_at": "2026-08-04T09:50:08Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2026-08-04T09:41:49Z",
"ci_last_conclusion": "FAILURE",
"oldest_open_issues": [
{
"number": 7,
"created_at": "2021-12-27T00:34:55Z",
"last_comment_at": "2022-01-24T12:55:44Z",
"last_comment_author": "rickmark"
},
{
"number": 8,
"created_at": "2021-12-27T00:37:17Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 57,
"created_at": "2022-08-12T01:40:07Z",
"last_comment_at": "2023-04-22T02:30:29Z",
"last_comment_author": "Lil-Gitty-Kat"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/hack-different/apple-knowledge",
"host": "github.com",
"name": "apple-knowledge",
"owner": "hack-different"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": "The weighted overall 57 is calibrated to 60 on the published index scale (record calibration 2026-08-02).",
"notes": [
{
"code": "overall_calibration",
"params": {
"raw": 57,
"calibrated": 60,
"calibration": "2026-08-02"
}
}
],
"value": 60,
"inputs": {
"security": 63,
"vitality": 35,
"community": 59,
"governance": 63,
"calibration": "2026-08-02",
"engineering": 70,
"ai_readiness": 46,
"weighted_overall_raw": 57
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "weak",
"name": "Vitality",
"value": 35,
"weight": 0.21,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 57,
"inputs": {
"commits_last_year": 8,
"human_commit_share": 0.98,
"days_since_last_push": 0,
"active_weeks_last_year": 4
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "4/52 weeks with commits",
"points": 2.8,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 4
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "8 commits in the last year",
"points": 8.6,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 8
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "13 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "critical",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 1,
"inputs": {
"releases_count": 0
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "no releases published",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_releases_published",
"params": {}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "no releases",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_releases",
"params": {}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "no releases",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_releases",
"params": {}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "exceptional",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 0,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 0 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 0
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 59,
"weight": 0.17,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 76,
"inputs": {
"forks": 107,
"stars": 1360,
"watchers": 33,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "1,360 stars",
"points": 50.8,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 1360
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "107 forks",
"points": 16.9,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 107
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "33 watchers",
"points": 8.4,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 33
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"readme_badges": 0,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"readme_badge_services": [],
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "weak",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 43,
"inputs": {
"packages": [
"apple-data",
"apple-data",
"apple-data"
],
"dependents": null,
"ecosystems": "npm, pypi, rubygems",
"total_downloads": 156113,
"monthly_downloads": 368
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "368 downloads/month across npm, pypi, rubygems",
"points": 34.2,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 368,
"ecosystems": "npm, pypi, rubygems"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 63,
"weight": 0.23,
"metrics": [
{
"key": "maintainer_resilience",
"band": "weak",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 39,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 30,
"top_contributor_share": 0.728
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 73% of commits",
"points": 6.1,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 73
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "30 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 30
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 10 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"newcomer_pr_acceptance"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 56,
"inputs": {
"merged_prs": 116,
"open_issues": 3,
"closed_issues": 4,
"prs_merged_7d": 11,
"prs_decided_7d": 11,
"prs_merged_30d": 12,
"prs_decided_30d": 12,
"issue_closed_ratio": 0.571,
"closed_unmerged_prs": 27,
"first_time_authors_30d": 0,
"first_time_prs_merged_30d": 0,
"first_time_prs_decided_30d": 0
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "57% of issues closed",
"points": 24,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 57
}
}
],
"max_points": 42
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "116/143 decided PRs merged",
"points": 24.3,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 116,
"decided": 143
}
}
],
"max_points": 30
},
{
"key": "newcomer_pr_acceptance",
"name": "Newcomer PR acceptance",
"detail": "no first-time contributor's PR decided in 30d",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_newcomer_prs",
"params": {
"days": 30
}
}
],
"max_points": 13
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/26 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 71,
"inputs": {
"followers": 371,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "hack-different",
"public_repos": 75,
"account_age_days": 1701
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "371 followers of hack-different",
"points": 18.5,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 371,
"login": "hack-different"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "75 public repos, account ~4 yr old",
"points": 22.3,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 75
}
},
{
"code": "account_age_years",
"params": {
"years": 4
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "exceptional",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"apple-data",
"apple-data",
"apple-data"
],
"ecosystems": "npm, pypi, rubygems",
"any_deprecated": false,
"min_days_since_publish": 0
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "3 package(s) on npm, pypi, rubygems",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 3,
"ecosystems": "npm, pypi, rubygems"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 0 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 0
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "183 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 183
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 70,
"weight": 0.19,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 76,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "13 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 13
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": ".rubocop.yml",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".rubocop.yml"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "9 out of 15 merged PRs checked by a CI test -- score normalized to 6",
"points": 12,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"topics": [
"reverse-engineering",
"apple",
"exploit",
"awesome",
"apple-silicon",
"ios",
"jailbreak",
"jekyll",
"macos",
"macosx",
"ruby"
],
"has_wiki": true,
"homepage": null,
"has_readme": true,
"has_docs_dir": false,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "11 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 11
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 63,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 54,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 5.4
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "9 out of 15 merged PRs checked by a CI test -- score normalized to 6",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/26 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 10 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "13 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 2,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "6 existing vulnerabilities detected",
"points": 3,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "exceptional",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 205 resolved dependencies against OSV; 14 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 205
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 14
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 7,
"affected_packages": 2,
"assessed_packages": 205,
"unassessed_packages": 14,
"affected_by_severity": "high 1, moderate 1",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "exceptional",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 205,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "exceptional",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"commit_weight_rule": {
"min_commits": 50,
"min_commit_share": 0.1
},
"review_only_matches": 0,
"below_threshold_exposures": [],
"assessed_self_published_locations": 14
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "weak",
"name": "AI Readiness",
"value": 46,
"weight": 0.04,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 10,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.194,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "19 of 98 human commits state their intent (structured subject or explanatory body)",
"points": 10.3,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 19,
"sampled": 98
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 62,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"Gemfile.lock",
"poetry.lock"
],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"_packages/node/tsconfig.json",
"_packages/python/apple_data/py.typed"
],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.02
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": ".rubocop.yml",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".rubocop.yml"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "_packages/node/tsconfig.json, _packages/python/apple_data/py.typed",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "_packages/node/tsconfig.json, _packages/python/apple_data/py.typed"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "2 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 2,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 82,
"inputs": {
"primary_language": "Ruby",
"largest_source_bytes": 20357,
"source_files_sampled": 39,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Ruby with type-check config (_packages/node/tsconfig.json, _packages/python/apple_data/py.typed)",
"points": 27,
"status": "partial",
"details": [
{
"code": "typecheck_config_language",
"params": {
"files": "_packages/node/tsconfig.json, _packages/python/apple_data/py.typed",
"language": "Ruby"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/39 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 39,
"oversized": 0
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "weak",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [],
"has_mcp_signal": false,
"api_schema_files": [
"lib/merkledag.proto"
]
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": "lib/merkledag.proto",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lib/merkledag.proto"
}
}
],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
}
],
"classification": {
"top": [
"library"
],
"labels": [
"library"
],
"scores": {
"library": 27.6,
"network-service": 3
},
"primary": "library",
"evidence": [
{
"tier": "distribution",
"label": "library",
"source": "registry:npm",
"weight": 6
},
{
"tier": "distribution",
"label": "library",
"source": "registry:pypi",
"weight": 6
},
{
"tier": "distribution",
"label": "library",
"source": "registry:rubygems",
"weight": 6
},
{
"tier": "declared",
"label": "library",
"source": "gem.gemspec",
"weight": 4.8
},
{
"tier": "declared",
"label": "library",
"source": "npm.entry",
"weight": 4.8
},
{
"tier": "structure",
"label": "network-service",
"source": "api_schema",
"weight": 3
}
],
"artifacts": [
{
"path": "_packages/node/package.json",
"labels": [
"library"
],
"ecosystem": "npm"
},
{
"path": "_packages/ruby/apple-data.gemspec",
"labels": [
"library"
],
"ecosystem": "rubygems"
}
],
"confidence": "high",
"host_extension": false,
"runs_as_process": false,
"consumed_by_code": true
},
"metrics_version": "2.5.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-08-04T09:52:21.534244Z",
"schema_version": "0.30.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/h/hack-different/apple-knowledge.svg",
"full_name": "hack-different/apple-knowledge",
"license_state": "standard",
"license_spdx": "MIT"
}