{"adoption": {"forks": 124, "observed_at": "2026-08-28T04:04:59.690631+00:00", "stars": 1534}, "canonical_url": "https://ross.abutalabs.com/products/appleneuralhash2onnx", "card": {"archived": false, "artifact_type": "library", "description": "Convert Apple NeuralHash model for CSAM Detection to ONNX.", "domain": ["machine-learning", "reverse-engineering", "image-processing", "security"], "enriched": true, "function": ["machine-learning", "reverse-engineering", "image-processing", "parser"], "health_score": 20, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["AsuharietYgvar/AppleNeuralHash2ONNX"], "name": "AsuharietYgvar/AppleNeuralHash2ONNX", "platform": ["python"], "pushed_at": "2021-08-21T07:27:26+00:00", "repo": "AsuharietYgvar/AppleNeuralHash2ONNX", "stars": 1534, "tags": ["neuralhash", "onnx", "perceptual-hashing", "coreml", "csam-detection", "model-conversion", "macos", "linux"], "topics": ["neuralhash", "apple", "machine-learning", "reverse-engineering"], "urls": [], "use_cases": ["convert Apple NeuralHash model to ONNX", "compute NeuralHash perceptual hashes for images", "reverse engineer Apple's CSAM detection hashing model", "run NeuralHash inference outside Apple platforms", "analyze how NeuralHash tolerates image resize and compression", "extract NeuralHash model files from macOS or iOS IPSW"], "what_it_is": "A Python tool that converts Apple's NeuralHash perceptual hashing model (used in Apple's CSAM Detection system) into ONNX format. It includes a demo script for computing 96-bit NeuralHash hashes of images and instructions for extracting the model files from macOS or iOS.", "when_to_avoid": ["you need a general-purpose perceptual hash like pHash and don't require NeuralHash compatibility", "you cannot obtain the proprietary model files from macOS/iOS", "you need a maintained production tool rather than a research artifact"], "when_to_choose": ["you need to run or study Apple's NeuralHash model on non-Apple platforms", "you want to independently audit or research Apple's CSAM detection hashing", "you need perceptual image hashes compatible with Apple's NeuralHash"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/appleneuralhash2onnx", "repo": "AsuharietYgvar/AppleNeuralHash2ONNX", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.690631+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:31:10.891535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea0240aca77c24834722499c60fc02bb40944a233244b96c8a9c39bfa45c2055", "fetched_at": "2026-08-28T04:04:59.690631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.690631+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:31:10.891535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea0240aca77c24834722499c60fc02bb40944a233244b96c8a9c39bfa45c2055", "fetched_at": "2026-08-28T04:04:59.690631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:31:10.891535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea0240aca77c24834722499c60fc02bb40944a233244b96c8a9c39bfa45c2055", "fetched_at": "2026-08-28T04:04:59.690631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.690631+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.690631+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.690631+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:31:10.891535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea0240aca77c24834722499c60fc02bb40944a233244b96c8a9c39bfa45c2055", "fetched_at": "2026-08-28T04:04:59.690631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.690631+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.690631+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:31:10.891535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea0240aca77c24834722499c60fc02bb40944a233244b96c8a9c39bfa45c2055", "fetched_at": "2026-08-28T04:04:59.690631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.690631+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.690631+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.690631+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:31:10.891535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea0240aca77c24834722499c60fc02bb40944a233244b96c8a9c39bfa45c2055", "fetched_at": "2026-08-28T04:04:59.690631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.690631+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.690631+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:31:10.891535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea0240aca77c24834722499c60fc02bb40944a233244b96c8a9c39bfa45c2055", "fetched_at": "2026-08-28T04:04:59.690631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:31:10.891535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea0240aca77c24834722499c60fc02bb40944a233244b96c8a9c39bfa45c2055", "fetched_at": "2026-08-28T04:04:59.690631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:31:10.891535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea0240aca77c24834722499c60fc02bb40944a233244b96c8a9c39bfa45c2055", "fetched_at": "2026-08-28T04:04:59.690631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:31:10.891535+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ea0240aca77c24834722499c60fc02bb40944a233244b96c8a9c39bfa45c2055", "fetched_at": "2026-08-28T04:04:59.690631+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1844, "days_push": 1838, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}