Key takeaways
- DJI's 2017 "Threat Identification Reward Program" is one of the most publicly documented cautionary cases in this space, and it is useful precisely because the same company later ran the process correctly.
- Stand up a free VDP with real safe harbor before you ever discuss paying anyone.
A bug bounty program pays researchers for valid, impactful security findings; a vulnerability disclosure policy (VDP) is the free, always-on, safe-harbor-protected channel every device maker should already have regardless of whether it ever pays a cent. CISA's own federal directive makes that distinction explicit rather than leaving it to convention, and it matters most for hardware and IoT vendors specifically, because scoping a physical device — firmware layers, companion apps, cloud backends, out-of-band management hardware — is harder to get right than scoping a web application, and getting it wrong has produced real, publicly documented disputes.
VDP first, bounty second — not the other way around
CISA's Binding Operational Directive 20-01 (2 September 2020), which requires every US federal civilian executive-branch agency to publish a vulnerability disclosure policy, states the distinction directly: "a VDP is similar to, but distinct from, a 'bug bounty.' In bug bounty programs, organizations pay for valid and impactful findings," and the directive "does not require agencies to establish bug bounty programs" — a VDP is the mandatory, no-cost baseline; a bounty is an optional, separately governed enhancement an organization can layer on top if it chooses. For a device or firmware company, the same ordering applies for reasons that have nothing to do with federal mandates: a VDP with no reward still gives you a monitored contact, triage process and safe-harbor commitment, which is also exactly what the EU Cyber Resilience Act's coordinated vulnerability disclosure requirement and the UK PSTI regime expect regardless of budget. A bounty without that underlying process in place has nothing to plug into — see how to set up a PSIRT for a hardware product company and the vulnerability disclosure policy template for building that baseline first.
Scoping a hardware or IoT program: more layers than a web app has
A software-only bug bounty can often scope itself to "our production domains." A hardware or IoT program has to decide, layer by layer, what's actually fair game — and the clearest way to see that is in how real published programs draw the line:
| Program | What's explicitly in scope | What's explicitly out |
|---|---|---|
| Intel Vulnerability Disclosure Program (via Intigriti) | OS-level kernel exploits; out-of-band management hardware (BMC, CSME) | Firmware weaknesses requiring physical access or a UEFI shell; third-party networks/devices |
| VeSync IoT Bug Bounty | The VeSync mobile app plus named device categories it supports (outlets, switches, lighting, kitchen appliances, air purifiers, scales, trackers) | Device categories VeSync doesn't make or support |
| Motorola Mobility (via Bugcrowd) | Motorola devices on specific Android versions and current security patch levels | Web-app-related findings |
| Google Android and Google Devices Security Reward Program | Firmware, system software and hardware across named Pixel, Nest and Fitbit device lines | Devices and product lines not explicitly named in the program's current scope |
The pattern across all four: scope is defined by naming specific device models, firmware layers, physical-access methods and companion software — not by a single blanket statement like "all our hardware." A device maker drafting its first hardware bounty scope should expect to make the same layer-by-layer calls: is a finding that requires opening the case and using a hardware debug port in scope? Is the companion mobile app in scope, or only the device? Is a cloud API the device talks to in scope, given it may be run by a different internal team or a third-party vendor entirely?
Safe harbor only covers what the program operator actually controls
Safe-harbor language protects a researcher from legal action for testing conducted within a program's defined rules — but every published program this guide reviewed limits that protection to systems the operator actually owns. Arm's program (via Intigriti) states that ethical hacking consistent with its guidelines is treated as "authorized" conduct and that Arm will not pursue civil action for accidental, good-faith violations, but explicitly adds that it "cannot grant safe harbor to researchers for security testing of third-party software or systems." Intel's safe-harbor waiver similarly "does not apply to security research involving networks, systems, or devices of another party that is not Intel." For a device maker whose product bundles a third-party chipset's firmware, a licensed SDK, or a cloud backend operated by a different company, this is not a minor caveat — it is the line between what your own bounty program can actually promise a researcher and what it cannot, no matter how the marketing copy reads.
When scope is unclear, bounties turn into disputes: DJI, 2017 and 2026
DJI's 2017 "Threat Identification Reward Program" is one of the most publicly documented cautionary cases in this space, and it is useful precisely because the same company later ran the process correctly. Per contemporaneous reporting from SecurityWeek and DroneLife, DJI launched the program via a one-page press release offering rewards of $100 to $30,000, without publishing defined scope or rules alongside it. Researcher Kevin Finisterre reported exposed SSL certificates and firmware AES encryption keys and was told he qualified for the maximum $30,000 reward — but after his lawyers reviewed DJI's proposed release agreement and judged it, in his own account, "extremely risky" and potentially "crafted in bad faith to silence anyone that signed it," he declined the payment rather than sign away his ability to discuss the finding, publishing an independent 18-page report instead. A second researcher, Sean Melia, reported an unpatched Heartbleed vulnerability alongside a SQL-injection and remote-code-execution issue with root access, was offered $500, declined it, and the two sides disputed whether he had broken a non-disclosure term by speaking to a reporter.
Nine years later, in March 2026, DJI paid a full, undisputed $30,000 bounty to researcher Sammy Azdoufal for a critical cloud-backend flaw in its Romo robot vacuum — reported independently by DroneXL, DroneDJ and AndroidHeadlines, with DJI deploying patches within days of the report and confirming payment on 7 March 2026. The difference between the two outcomes was not the size of the reward, which was identical; it was whether scope, release terms and payment process were defined and trusted going in. See ISO/IEC 29147 and 30111: the coordinated vulnerability disclosure process for the process standard a bounty program's intake and remediation workflow should still follow underneath the payment terms, and the FIRST PSIRT Services Framework for how that intake function should be structured as a standing team responsibility, not a one-off press release.
A workable starting point
Stand up a free VDP with real safe harbor before you ever discuss paying anyoneA bounty built on top of a weak or missing disclosure process inherits all of that process's problems, plus a payment dispute risk on top. Write your hardware/IoT scope layer by layer, following the pattern real programs use: named device models and firmware versions, physical-access methods explicitly in or out, companion apps and cloud backends addressed separately from the device itself. State plainly what your safe harbor does not coverIf your product bundles third-party firmware, licensed components, or a backend you don't operate, say so in the program terms — don't let a researcher discover the limit mid-engagement. Publish payment terms and any release/NDA language before launch, not after a researcher has already found somethingDJI's 2017 dispute traces directly to rules that didn't exist until a reward was already on the table. Treat your bounty program as an extension of your PSIRT, not a replacement for itThe triage, severity-scoring and fix-and-advisory workflow a paid finding goes through should be the same one every unpaid VDP report goes through — see how to set up a PSIRT for a hardware product company.
Paying for findings can genuinely surface issues a free VDP alone would miss, but only once the underlying disclosure process, scope definition and safe-harbor terms are solid enough to trust — the exact foundation a PSIRT program and a published VDP are built to provide. SoftWSP's PSIRT service builds that intake, triage and advisory process first, so a paid bounty layer — if you choose to add one — has something solid to sit on: see PSIRT.
This guide draws on CISA's published federal directive, bug bounty platform program pages (Intigriti, Bugcrowd, VeSync's own program page), and contemporaneous news reporting (SecurityWeek, DroneLife, DroneDJ, DroneXL, AndroidHeadlines) for the DJI case studies, since several bounty-platform program pages render dynamically and could not be fetched as static text by this guide's tooling. This guide is not a substitute for a specific program's own current, published terms, or for legal review of a bounty program's release and safe-harbor language.
Sources
- CISA Binding Operational Directive 20-01, Develop and Publish a Vulnerability Disclosure Policy (2 September 2020)
- Intel Vulnerability Disclosure Program rules (via Intigriti) — scope, firmware/physical-access and BMC/CSME terms
- Arm Bug Bounty Program rules (via Intigriti) — authorized-conduct and third-party safe-harbor limits
- VeSync IoT Bug Bounty Program — scope (app + supported device categories)
- SecurityWeek: Drone Maker DJI, Researcher Quarrel Over Bug Bounty Program (2017)
- DroneDJ: DJI fixes ROMO security bug that exposed thousands of homes (10 March 2026)
Frequently asked questions
What is the actual difference between a vulnerability disclosure policy (VDP) and a bug bounty program?
A VDP is a free, authorized channel for reporting security issues with safe-harbor protection for the reporter; a bug bounty program pays for valid findings. CISA's own Binding Operational Directive 20-01, which requires every US federal civilian executive-branch agency to publish a VDP, states this distinction directly: "a VDP is similar to, but distinct from, a 'bug bounty.' In bug bounty programs, organizations pay for valid and impactful findings," and the directive explicitly "does not require agencies to establish bug bounty programs" — a VDP is the mandatory baseline, a bounty is an optional, separately-governed layer an organization can add on top. For a device vendor, this maps directly: see [vulnerability disclosure policy template](/guides/vulnerability-disclosure-policy-template/) for the free, always-required baseline a bug bounty should sit on top of, not replace.
What does "scope" actually need to cover for a hardware or IoT bug bounty?
More than a software program does, because the asset itself can be physical. Real published programs make this explicit: Intel's Vulnerability Disclosure Program (run via Intigriti) states that valid submissions against firmware weaknesses requiring physical access or a UEFI shell are out of scope, while operating-system-level kernel exploits are generally in scope, and weaknesses in out-of-band management hardware such as BMC or CSME are generally in scope — three different scope decisions for three different layers of the same device. VeSync's IoT bug bounty program scopes in its mobile app plus the specific device categories it supports (outlets, switches, lighting, kitchen appliances, air purifiers, scales, trackers) rather than "all VeSync hardware," and Motorola Mobility's hardware-focused program (run via Bugcrowd) scopes to devices running specific Android versions and patch levels, explicitly excluding web-app-related findings. The common thread: a hardware/IoT scope has to name which physical access methods, firmware layers, companion apps, and device models are actually in play, not just a product line.
Does a bug bounty program's safe-harbor language actually protect a researcher?
Only to the extent the program's own written terms say so, and real programs vary. Arm's program (via Intigriti) states that ethical hacking consistent with its researcher guidelines is treated as "authorized" conduct, and that Arm will not pursue civil action for accidental, good-faith violations — but adds that it "cannot grant safe harbor to researchers for security testing of third-party software or systems," a limit that matters for any device running third-party components. Intel's safe-harbor waiver similarly does not extend to "networks, systems, or devices of another party that is not Intel." The practical rule, confirmed by multiple programs' own published terms: safe harbor covers only what the program operator actually owns or controls, and testing anything adjacent — a cloud backend run by a different company, a third-party chipset's own firmware — can fall outside even a program with strong, good-faith safe-harbor language.
What happens when scope and payout terms are unclear? Is there a real example?
Yes — DJI's 2017 "Threat Identification Reward Program" is a well-documented case, and a useful cautionary one precisely because DJI later improved. DJI launched the program with a one-page press release offering $100-$30,000 rewards but, per contemporaneous reporting (SecurityWeek, DroneLife), with no defined scope or rules published alongside it. Researcher Kevin Finisterre reported exposed SSL certificates and firmware AES keys and was told he qualified for the $30,000 maximum — but after his lawyers reviewed DJI's proposed release agreement and found it, in his account, "extremely risky" and possibly "crafted in bad faith to silence anyone that signed it," he declined the payment and published his own 18-page writeup instead, titled "Why I Walked Away From $30,000 of DJI Bounty Money." A separate researcher, Sean Melia, reported an unpatched Heartbleed flaw plus a SQL-injection/remote-code-execution issue with root access and was offered $500; he also declined, and DJI said he had broken a non-disclosure term by speaking to a reporter. Nine years later, in March 2026, DJI paid a full $30,000 bounty to researcher Sammy Azdoufal for a critical flaw in its Romo robot vacuum's cloud backend (reported by DroneXL, DroneDJ and AndroidHeadlines, among others) with no reported scope or payment dispute — evidence that well-defined scope and release terms, not the size of the reward, are what actually determine whether a bounty program works for both sides.
In this cluster


