PAGES
← all tools
◆ Threat Intelligence

ThreatExchange

hma-v1.2.1 open-source

Summary

ThreatExchange is an open-source collection of libraries and reference implementations, maintained by Meta, for hashing content and exchanging signals to support content moderation. It covers photo and video hashing algorithms like PDQ, TMK+PDQF, and vPDQ, a deployable server called Hasher-Matcher-Actioner for hashing and matching content at scale, and a Python library and CLI, threatexchange, for scanning content and pulling hashes from Meta's ThreatExchange API. It is built for trust and safety teams and engineers building content moderation pipelines rather than traditional SOCSOCA security operations center, the team or function that monitors threats, investigates alerts and coordinates incident response. Its work can be internal, outsourced or shared. or red team use cases, and its category sits closer to content-signal exchange than conventional threat intelligence feeds. With 134 contributors, 122 commits in the past year, and a release 78 days ago, the project is actively maintained.

How ThreatExchange helps

Does this image already exist in a set of known content I need to act on?

generates a PDQ hash from the image and compares it against a maintained list of signatures, reporting matches even when the image has been resized, recompressed, or lightly edited

Does this video match something already in my hash bank?

breaks the video into TMK+PDQF or frame-level vPDQ signatures and matches on shared similar frames, so partial re-edits or clips can still surface a match

Where did a given hash in my list actually come from, and can I share matches back?

tracks signals pulled from Meta's ThreatExchange API alongside self-curated entries, so a lookup shows whether a hash originated internally or from an exchange partner

Can my moderation pipeline hash and match content at the scale of a live platform, not just a script?

runs as a deployable server that hashes incoming content and checks it against maintained lists, returning a match-or-no-match result suitable for wiring into an action layer

Which of several hashing techniques fits the content type I'm dealing with?

ships separate reference implementations for photos, videos, and frame-based video matching, so the choice of algorithm is driven by media type rather than a single one-size-fits-all hash

all 9 features, with the evidence for each →

Languages

Not documented

Features

9 capabilities

Built from ThreatExchange's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • ThreatExchange covers 1 of the 8 investigation and response capabilities we track.

What ThreatExchange offers you

All capabilities 9 capabilities
Per-Exchange Credential Scoping shipped Scopes exchange credentials individually to each exchange rather than sharing a single credential set across all exchanges. 2 releases · first seen Oct 2026

release

  • Scopes exchange credentials to each individual exchange rather than sharing a single credential set across all exchanges.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ hma-v1.2.0 · Oct 2026 · source · release history
  • Add scope credential configuration to restrict each Exchange API key to its specific Exchange. hma-v1.2.0 · Oct 2026 · source · release history
Performance Optimization shipped Routes large object reads through database read replicas in High Memory Availability deployments to reduce primary node load. 2 releases · first seen May 2026

release

  • Routes large object reads through a database read replica in High Memory Availability (HMA) deployments to reduce load on the primary writer node. hma-v1.1.6 · May 2026 · source · release history
  • Swaps the allocator to jemalloc to reduce memory fragmentation, improving stability under load. hma-v1.1.5 · May 2026 · source · release history
Exchange Enabled State Visibility shipped Surfaces whether a given exchange is active by reporting its enabled state in HMA fetch status. 1 release · first seen Oct 2026

release

  • Reports the enabled state of exchanges in HMA fetch status, making it visible whether a given exchange is active.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ hma-v1.2.1 · Oct 2026 · source · release history
Server-Side Filtered ThreatExchange Search shipped suggested Runs a filtered search against ThreatExchange on the server side without requiring a full local dataset download. 1 other source · first seen Oct 2026

Suggested capability: Threat indicator matching. This is our guess, not confirmed.

example

  • Run a server-side filtered search against ThreatExchange without pulling down the full dataset locally. threatexchange api fb_threatexchange query hma-v1.2.1 · Oct 2026 · source
Graph API Version Management shipped Maintains a hardcoded Graph API version used for external API calls, updated to v26.0. 1 release · first seen Oct 2026

release

Threat Intelligence Integration shipped suggested Enables integration with NCMEC infrastructure for hash sharing via the hma library. 1 release · first seen Jun 2026

Suggested capability: Threat indicator matching. This is our guess, not confirmed.

release

  • Adds NCMEC hash sharing environment URLs for the hma library to enable integration with NCMEC's infrastructure hma-v1.1.7 · Jun 2026 · source · release history
API Contract Generation shipped Automatically generates an OpenAPI specification for ThreatExchange endpoints during the CI pipeline. 1 release · first seen May 2026

Also counts toward: CI/CD pipeline integration

release

  • Generates an OpenAPI specification during the website CI pipeline, providing a machine-readable API contract for ThreatExchange endpoints. hma-v1.1.6 · May 2026 · source · release history
Content Metadata Support shipped Allows optional note fields to be attached to bank content items for additional context. 1 release · first seen Mar 2026

release

Signal Type Support shipped Expands supported signal types to include SHA256 for threat data processing. 1 release · first seen Mar 2026

Shared capability: Threat indicator matching

release

  • Adds SHA256 as a supported signal type for threat data hma-v1.1.3 · Mar 2026 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for ThreatExchange, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail ThreatExchange puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Website history

faiss.ai, every change

Meta's home page and 4 more pages as they looked each month from September 2021 to October 2026: 17 renders, 0 changes of tagline or palette. Step through them, play them, or put any two months side by side.

Website history is included with Researcher and Business.

See plans →

Releases

6 entries

  1. October 20262
  2. June 20261
  3. May 20262
  4. March 20261

    6 entries

    Project health

    Issue, contributor and maintainer activity in facebook/ThreatExchange, 2023-12 – 2026-11, as of 2026-11-03. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 18 −8 vs prior 12 months
    2. Maintainers 2 +0 joined · −2 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 80% of issues opened, last 12 months
    5. Median time to close 245 days first maintainer reply 7.1 days
    6. Open backlog 49 of 336 issues ever filed
    1. Issues opened / month 2 · 0 communitymaintainers
    2. Open backlog 49
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 1,393
    Issue themes, last 12 months
    • other 100%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →