Skip to content

πŸ›‘οΈ NDAA (Section 889) compliance field β€” dataset-wide rolloutΒ #348

Description

@ch-bas

πŸ›‘οΈ Overview

A first-class ndaa_compliant field on every camera record, so the dataset can answer a question installers and public-sector buyers ask constantly: "Is this camera legal to deploy under NDAA Section 889?"

Section 889 of the National Defense Authorization Act bans US federal use of video-surveillance gear from a named set of manufacturers. This field captures each camera's manufacturer-stated compliance and powers a tri-state badge + feature filter on the site and the public API.


🧩 The field

// schema/camera.schema.json
"ndaa_compliant": {
  "type": "boolean",
  "description": "True if the camera is NDAA-compliant (Section 889 β€” no Hikvision/Dahua/HiSilicon etc. components), as stated by the manufacturer. Omit when unknown; never infer."
}

Optional & non-breaking β€” existing records validate unchanged. Mirrored in the web Camera type and surfaced in the UI (tri-state badge, drawer row, feature filter).


πŸ“ Methodology β€” evidence-based, never guessed

Value Rule
βœ… true The manufacturer officially states the model is NDAA-compliant β€” a portfolio-wide declaration or a published compliant-model list the model appears on.
β›” false Either a legal fact β€” the brand is named in Section 889 (Hikvision, Dahua, Huawei, ZTE, Hytera) or is a wholly-owned sub-brand of one β€” or a manufacturer-stated per-model non-compliance: a list-based brand's own NDAA list omits that model, its datasheet makes no NDAA claim while siblings do, or it is a known OEM rebrand of a named entity.
⬜ omit Unknown. No manufacturer statement at all, brand takes no public position, or the claim is disputed/unmappable. We do not assume.

Compliance lists/declarations are cached locally under datasheets/<brand>/ for reproducibility.


πŸ“Š Coverage

Decided: 8,282 / 11,422 records (73%) β€” 3,511 βœ… Β· 4,771 β›” Β· 3,140 ⬜ Β· 47 brands marked compliant. (Last synced to main @ 2.17.0 prep β€” 11,422 cameras / 139 brands.)

βœ… Compliant (official statement / list)

Brand βœ… Brand βœ… Brand βœ…
Hanwha 572 i-PRO 504 Uniview 314
ACTi 194 Bosch 165 Milesight 159
Axis 143 Reolink 127 LILIN 110
Sunell 107 Mobotix 104 AVYCON 97
Arecont Vision 89 Digital Watchdog 70 Kenik 66
Matrix 61 Honeywell 60 Illustra 60
JideTech 38 InVid Tech 36 3xLOGIC 31
Dallmeier 30 Uniarch 29 OpenEye 27
eneo 26 VIGI 25 ClareVision 24
Vicon 24 Ajax 23 Verkada 20
Vivotek 19 GeoVision 17 Luma 17
Pelco 17 Avigilon 16 Panasonic 14
Amcrest 12 Night Owl 11 Speco Technologies 10
Comelit 8 Sparsh 8 EverFocus 7
TKH Security 7 Bolide 6 Synology 4
March Networks 2 IDIS 1

(List-based brands mark only models actually on the published list / stating it per-datasheet; unlisted models stay ⬜. Notable partial coverage: Hanwha 572/662, ACTi 194/531, Bosch 165/255, GeoVision 17/106, Kenik 66/145, Sunell 107/155, AVYCON 97/153, Amcrest 12/86, Speco 10/61, Uniview 314/353, Milesight 159/185, Comelit 8/41.)

β›” Non-compliant

Brand β›” Basis
Dahua 1,982 Named entity
Hikvision 1,853 Named entity
HiLook 351 Hikvision sub-brand
ACTi 265 Model not on ACTi's official NDAA list (per-model)
IMOU 108 Dahua sub-brand
EZVIZ 87 Hikvision subsidiary
HikMicro 86 Hikvision thermal sub-brand
Prama 17 Hikvision-OEM rebrand
Milesight 12 Non-NDAA C-series variants (per-datasheet)
Sparsh 9 No NDAA claim on datasheet (per-model)
Matrix 1 No NDAA claim on datasheet (CIBR50FL40)

Two flavours of β›”: legal fact (named entities + wholly-owned sub-brands β€” Hikvision/Dahua/HiLook/IMOU/EZVIZ/HikMicro) vs manufacturer-stated per-model (ACTi/Milesight/Sparsh/Matrix mark the individual models their own list/datasheet does not cover; Prama is a Hikvision-OEM rebrand). Both are evidence-based, never inferred.

⬜ Evaluated β†’ intentionally omitted

  • "Not-quite-blanket" claims: Ubiquiti, AvertX ("most" / "a range of" β€” no clean statement).
  • Disputed / OEM-rebrand: Luminys (contested Dahua white-label), Holowits (Huawei ownership unconfirmed β†’ not false either), Annke, LTS, IC Realtime, BCS, LaView, ClareVision-siblings, Lorex (publishes a non-compliance disclaimer).
  • Unmappable list: Truen (real per-model claims, JS-rendered pages couldn't be matched).
  • No published position: Tapo, Kasa, Ring, Eufy, Wyze, Xiaomi, Arlo, Google/Nest, Sony (per-model letter only), ZKTeco, Kedacom, Tiandy, ABUS, Mapesen, Urmet, FLIR, Jovision, Avtron, and the rest of the consumer/long-tail.

πŸ”œ Future work

  • Bulk Hanwha ingest lifted 27 β†’ 572 βœ…; Mobotix 16 β†’ 104 βœ…; ACTi re-swept (194 βœ… / 265 β›”, list-based); new India brands Matrix (61 βœ… / 1 β›”), Prama (17 β›”, Hik-OEM), Sparsh (8 βœ… / 9 β›”, per-datasheet) added this cycle.
  • Refresh the remaining list-based brands (Uniview, Sunell, AVYCON, GeoVision, Kenik, Speco, Comelit, TKH) against newer list revisions to lift currently-omitted current-gen models.
  • Re-check the "not-quite-blanket" brands (Ubiquiti, AvertX, Truen) if they publish a definitive statement/list.
  • Long-tail brands with no position today β€” revisit if they publish one.

⚠️ Notes

  • false β‰  "bad camera" β€” it reflects Section 889 naming or a manufacturer's own per-model position, relevant only to US federal procurement.
  • NDAA β‰  TAA (Trade Agreements Act / country-of-origin) β€” a separate axis, intentionally out of scope.
  • Everything is backed by an official manufacturer source; nothing is inferred from country, components, or reputation.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions