{"adoption": {"forks": 313, "observed_at": "2026-08-28T04:07:43.630347+00:00", "stars": 3103}, "canonical_url": "https://ross.abutalabs.com/products/ja3", "card": {"archived": true, "artifact_type": "library", "description": "JA3 is a standard for creating SSL client fingerprints in an easy to produce and shareable way.", "domain": ["security", "networking", "developer-tools"], "enriched": true, "function": ["security", "networking", "monitoring"], "health_score": 10, "homepage": null, "language": "Python", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["salesforce/ja3"], "name": "salesforce/ja3", "platform": ["python", "cross-platform"], "pushed_at": "2025-05-01T17:30:05+00:00", "repo": "salesforce/ja3", "stars": 3103, "tags": ["tls-fingerprinting", "ja3", "threat-intelligence", "zeek", "network-security", "linux"], "topics": [], "urls": [], "use_cases": ["fingerprint tls clients from network traffic", "detect malware by ssl handshake fingerprint", "share tls fingerprints for threat intelligence", "profile ssl clients in zeek", "generate ja3 hashes from pcaps"], "what_it_is": "JA3 is a standard and set of scripts (Python and Zeek) for generating SSL/TLS client fingerprints that are easy to produce and share for threat intelligence. The project is no longer actively maintained by Salesforce, with successor work continuing as JA4 at FoxIO.", "when_to_avoid": ["you need actively maintained TLS fingerprinting - use JA4 instead", "you need JA3S or newer fingerprint methods with ongoing support"], "when_to_choose": ["you need the original JA3 fingerprinting standard for compatibility with existing tools", "you want Zeek or Python scripts for TLS client fingerprinting"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ja3", "repo": "salesforce/ja3", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.630347+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:46:19.668521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f6a2d5b9b001be4d825070d929200101610cc13861f5796b7d6992bc3e9dfd7", "fetched_at": "2026-08-28T04:07:43.630347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/ja3"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.630347+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:46:19.668521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f6a2d5b9b001be4d825070d929200101610cc13861f5796b7d6992bc3e9dfd7", "fetched_at": "2026-08-28T04:07:43.630347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/ja3"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:46:19.668521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f6a2d5b9b001be4d825070d929200101610cc13861f5796b7d6992bc3e9dfd7", "fetched_at": "2026-08-28T04:07:43.630347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/ja3"}], "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:07:43.630347+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.630347+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.630347+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:46:19.668521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f6a2d5b9b001be4d825070d929200101610cc13861f5796b7d6992bc3e9dfd7", "fetched_at": "2026-08-28T04:07:43.630347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/ja3"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.630347+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.630347+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:46:19.668521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f6a2d5b9b001be4d825070d929200101610cc13861f5796b7d6992bc3e9dfd7", "fetched_at": "2026-08-28T04:07:43.630347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/ja3"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.630347+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.630347+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.630347+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:46:19.668521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f6a2d5b9b001be4d825070d929200101610cc13861f5796b7d6992bc3e9dfd7", "fetched_at": "2026-08-28T04:07:43.630347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/ja3"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.630347+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:43.630347+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:46:19.668521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f6a2d5b9b001be4d825070d929200101610cc13861f5796b7d6992bc3e9dfd7", "fetched_at": "2026-08-28T04:07:43.630347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/ja3"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:46:19.668521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f6a2d5b9b001be4d825070d929200101610cc13861f5796b7d6992bc3e9dfd7", "fetched_at": "2026-08-28T04:07:43.630347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/ja3"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:46:19.668521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f6a2d5b9b001be4d825070d929200101610cc13861f5796b7d6992bc3e9dfd7", "fetched_at": "2026-08-28T04:07:43.630347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/ja3"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:46:19.668521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f6a2d5b9b001be4d825070d929200101610cc13861f5796b7d6992bc3e9dfd7", "fetched_at": "2026-08-28T04:07:43.630347+00:00", "kind": "readme", "missing": false, "url": "https://github.com/salesforce/ja3"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 19, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3368, "days_push": 489, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}