Each hit carries its proof rule: what to cut or mark, what the photo must show, and the refund. No key needed for reads; /api/health shows what is connected.
Marketplaces and retailers
Show a recall's proof rule on the product page, and verify a buyer's photo before the refund is sent.
Join the shared hash pool from your own systems: register the hash of a photo you have paid on, and check a hash before you pay. Only the 64-bit hash and an opaque ref cross.
Connect the Remedy MCP server: search_recalls, scan_catalog, get_proof_rule, verify_photo, open_claim and claim_status. A recorded session below shows an assistant using them.
With a key: 60 requests a minute, 1,000 a day. Without: 20 a minute.
The shared hash pool
A photo already paid at one firm is held at the next, before any model call. Who may write to the pool, who may read it, and what crosses between firms:
Who may write
Firms connected to Remedy, each with a key tied to its firm (scope hash-pool:register), issued when the firm connects. Claims a firm takes on Remedy add their photo's hash as they are checked. A self-serve sandbox key can check but not register, so the pool holds only photos a firm has handled.
Who may read
Anyone, with or without a key: POST /api/v1/hash-pool/check answers whether a hash is within range of one already in the pool or a published recall picture.
What crosses
Only the 64-bit hashes and an opaque ref. No photo, no name, no contact and no firm: the registering firm is kept in Remedy's own audit ledger, never in the pool row or an answer.
The tool calls an assistant makes to help an owner, from the recall to a claim ready to pay: six calls to this server’s MCP endpoint, recorded on November 9, 2026. Only the calls and the server’s answers are shown. No AI model was called to record them: the photo’s verdict is replayed from the verification cache, and the owner chooses where the refund goes.
The owner asks “I got a recall notice for my Brightline laptop charger. What do I do?”
3 recalls for "Brightline 65W laptop charger" (elastic search):
1. Recall BH-2026-01, 2026-10-15: Brightline Home recalls 65W laptop chargers (sample recall). Photo refund: Cut the cord, $34.99 refund. https://remedy-y0ym.onrender.com/recalls/BH-2026-01
2. Recall FW-2026-01, 2026-10-29: Fernway Home recalls 65W laptop chargers (sample recall). Photo refund: Cut the cord, $29.99 refund. https://remedy-y0ym.onrender.com/recalls/FW-2026-01
3. Recall 25248, 2025-05-01: Baseus Portable Chargers Recalled Due to Fire Hazard; Sold on Amazon.com by Shenzhen Baseus Technology. Remedy: Replace. https://remedy-y0ym.onrender.com/recalls/25248
Read what the recall asks the owner to do and photograph.
get_proof_rule121 ms
{
"recall_number": "BH-2026-01"
}
Recall BH-2026-01: Brightline Home recalls 65W laptop chargers (sample recall).
It pays on a photo. First: Cut the cord. Remedy: Full refund of $34.99.
Steps: Unplug the charger. Cut the cord where it meets the charger case. Take one photo of the cut cord with the charger.
Official remedy: "Stop using the charger and cut the power cord where it meets the charger case. Send one photo of the cut cord with the charger for a full refund of $34.99."
Source: stored rule, none (written by the sample firm). Details: https://remedy-y0ym.onrender.com/recalls/BH-2026-01
Give the owner their own claim link and checklist. Nothing is opened yet.
open_claim107 ms
{
"recall_number": "BH-2026-01"
}
To claim the refund for recall BH-2026-01 (Brightline Home recalls 65W laptop chargers (sample recall)), the owner opens https://remedy-y0ym.onrender.com/claim/BH-2026-01, follows these steps: Unplug the charger. Cut the cord where it meets the charger case. Take one photo of the cut cord with the charger., and takes one photo. They choose where the refund goes. Demonstration in PayPal sandbox; Remedy is not affiliated with the recalling firm.
The owner has cut the cord and taken one photo. Check it before anything is opened: verify_photo stores nothing and pays nothing, and this photo was checked before, so the verification cache answers with no model call.
Verified.
C1 Right product: unclear. We could not confirm this is the exact recalled product.
C2 Made safe: pass. The photo shows the product made safe.
C3 Your own photo: pass. This is a new photo of the product.
C4 Within the recall: pass. No model or lot number is needed for this recall.
C5 Claim limits: pass. This claim is within the limit for one purchase.
C6 Not already refunded: pass. No PayPal purchase linked.
Without an API key only the free checks run: photo quality and the own-photo match. A photo checked before is answered from the verification cache, with no model call. Add a key for the full checks.
The photo checks out: open the claim with it, which runs the six checks again on the server's own record.
Claim 30b42162-ca48-4f71-9496-7aca864dfc00 opened for recall BH-2026-01. Decision: verified. Your photo checks out. The owner chooses where the refund goes at https://remedy-y0ym.onrender.com/r/30b42162-ca48-4f71-9496-7aca864dfc00. Follow it with claim_status. Demonstration in PayPal sandbox; Remedy is not affiliated with the recalling firm.
Follow the claim: verified and ready to pay, with the owner's choice of where the refund goes the one step left.
Claim 30b42162-ca48-4f71-9496-7aca864dfc00: verified. Your photo checks out. Ready to pay: $34.99 through PayPal, once the owner chooses where the refund goes at https://remedy-y0ym.onrender.com/r/30b42162-ca48-4f71-9496-7aca864dfc00. Sandbox.
Server remedy 2026.11.5, MCP protocol 2025-06-18, with 7 tools: ping, search_recalls, scan_catalog, get_proof_rule, verify_photo, open_claim, claim_status. Add it to your own assistant with the command in the docs. Demonstration in PayPal sandbox; Brightline Home and its recall are fictional.
Embed a recall badge
One iframe, or one script tag, on any product page: the recall’s one-line remedy and refund, with a Get your refund link to the owner’s claim page. Rendered on our server in Remedy’s colors, light or dark with the visitor’s setting. Use ?recall= with a recall number or ?q= with the product in plain words.
Live: CPSC recall 27056, HAIARA power banks (write RECALLED, full refund)
The script inserts the same iframe where it sits; data-q="power bank" works instead of a recall number, and data-width and data-height size it. Nothing else loads on your page.