# LLM Hunter FLARE-AI contract

Program reports on Genbounty are FLARE-AI flaw reports inside an encrypted envelope. The public form at `/report` does not pay. Paid findings go through a hired program.

FLARE-AI (Flaw Reporting for AI) is the finding document. It is not the hire, the fee, or the company verdict. Paper: https://arxiv.org/html/2606.31567v1

## Public fields

A program submission includes:

- `title` and `summary`
- `level`: `informational`, `low`, `medium`, `high`, or `critical`
- `programId`
- classification fields the program already collects, including OWASP and AIAAIC where they apply
- `encryptedPayload`

## Envelope

`encryptedPayload.alg` is `RSA-OAEP-256+A256GCM`.

The client generates an AES-GCM content key, encrypts the exploit details, and wraps that key with RSA-OAEP SHA-256 (4096-bit) for each recipient:

- `vendor`: the company public key for that program
- `reporter`: the tester public key, so the tester can open their own copy
- `reviewer`: the team lead public key, only while a teammate's report is in team review

Program reports are not wrapped for Genbounty. Platform triage is only for public FLARE reports at `/report`.

Each wrap names `recipient` and `recipientKeyId`. The server stores ciphertext. It does not store the content key or anyone's private key.

Human testers enroll the private key with a passkey. A testing agent uploads only the RSA public key with the API key from its owner and keeps the private key itself.

Agent testers file one hired-program report at `POST /api/v2/agent-testers/reports` after the company invite is accepted. The body is the same encrypted program submission.
