
Tools for Humanity
External Program
Submit bugs directly to this organization


External Program
Submit bugs directly to this organization
Tools For Humanity (TFH) is proud to collaborate with the vibrant community of independent security research to secure our platform and our users. To recognize your efforts and the role you play in enhancing the security of TFH and the World ecosystem, we have established this bug bounty program in partnership with HackerOne. Please make sure you review and understand this Policy before submitting a report. If you have any questions or need clarification, please don't hesitate to reach out. By participating in this program, you agree to adhere to this Policy as well as HackerOne’s policies, such as their Code of Conduct.
TFH will make a best effort to meet the following SLAs for hackers participating in our program:
| Type of Response | SLA in business days |
|---|---|
| First Response | 1 days |
| Time to Triage | 10 days |
| Time to Bounty | 14 days |
| Time to Resolution | depends on severity and complexity |
The only appropriate place to inquire about a submitted report’s status is HackerOne. Please refrain from submitting your report or inquiring about its status through additional channels, as this unnecessarily binds our security team’s resources.We will try to keep you informed about our progress throughout the process.
By submitting reports or otherwise participating in this program, you agree that you have read, understand, and will follow the Rules and Legal Terms sections of this program Policy. Violation of any of these rules can result in ineligibility for a reward and/or removal from the program.
As a participant in our bug bounty program you must:
The following issues or actions are not allowed in our bug bounty program:
Behave professionally. Failure to follow HackerOne's policies, such as the Code of Conduct, may result in the report being ineligible for a reward at TFH sole discretion, in addition to any enforcement action HackerOne may decide to take.
When reporting potential vulnerabilities, please consider (1) realistic attack scenarios, and (2) the security impact of the behavior. Below, you will find the most common false positives we encounter. The following issues will be closed as invalid except in rare circumstances demonstrating clear security impact.
Our Rules prohibit the disclosure of any vulnerabilities (even resolved ones) outside of the program without express consent from the organization. You must follow HackerOne's Vulnerability Disclosure Guidelines.
When submitting a report to our security team, submit one vulnerability per report, unless you need to chain vulnerabilities to demonstrate a higher impact.
The assets in scope are organized into two categories: Primary Assets and Secondary Assets. This classification is determined by the maturity level of each asset and the risk it poses to TFH and the World ecosystem. Assets listed in the scope table will specify their assigned category, with any asset not designated as a Primary Asset automatically categorized as a Secondary Asset. For further clarity, Primary Assets are also outlined below:
| Primary Assets | URL |
|---|---|
| Developer Portal | developer.worldcoin.org |
| Smart Contracts | Address Book |
The TFH security team maintains a Treasure Map to provide researchers with additional insights into the assets included in the bug bounty program’s scope. This resource serves as a guide for researchers to better understand the scope and focus their testing efforts. As the program and its scope evolve, further details and assets will be added to the Treasure Map.
We encourage you to subscribe to the Treasure Map repository to receive updates on new additions. For a comprehensive overview of the World protocol, please refer to the World white paper.
We're not providing credentials for the orb API as this is our private network of orb devices and there's no self registration. Our public-key cryptography-based authentication API resides at auth.orb.worldcoin.org.
For the wallet API, the user account is an Ethereum address and authentication is based on public-key cryptography. You can generate a key pair and start interacting with the API. You can also create an account by downloading our app, but it's not possible currently to view your private key.
Additionally here is a private key 0x4bb934c301cf29d8d2f38f09d2e9d23d0a66b352a8291bcde49734886ce80f62 for a testing account, it can be used to obtain auth tokens under the api.consumer.worldcoin.org.
We require users solving public key challenge during login procedure:
Request challenge
bashcurl --request POST \ --url https://api.consumer.worldcoin.org/v1/graphql \ --header 'Content-Type: application/json' \ --data '{ "query": "mutation { requestChallengeV2(input: {eoaAddress: \"<your public key>\"}) { challenge expiresAt } }" }'
Sign and solve challenge with your private key
Sign the challenge
js// Challenge should be taken from previous step (requestChallengeV2) const { Wallet } = require('ethers'); const wallet = new Wallet(<privateKey>) // const challenge = 'trustme:...' const signature = await wallet.signMessage(challenge)
Solve the challenge by submitting a mutation
bashundefined
curl --request POST
--url https://api.consumer.worldcoin.org/v1/graphql
--header 'Content-Type: application/json'
--data '{
"query": "mutation { solveChallengeV2(input: {challenge: "", signature: ""}) { accessToken } }"
}'
```
Using gql api with access token
bashcurl --request POST \ --url https://api.consumer.worldcoin.org/v1/graphql \ --header 'Content-Type: application/json' \ --header 'x-authorization: ACCESS_TOKEN' \ --data '{"query":"query me { \n\tme {id}\n}","variables":{},"operationName":"me"}'
You are responsible for complying with any applicable laws. You are not eligible to participate in this program if you:
TFH considers good faith security research to be authorized activity that may be protected from adversarial legal action by us. As such, we adhere to HackerOne’s Gold Standard Safe Harbor which can be found here.
#Legal Terms In connection with your participation in this program you agree to comply with TFH’s Terms of Service, TFH’s Privacy Policy, and all applicable laws and regulations, including any laws or regulations governing privacy or the lawful processing of data.
To be fully protected under HackerOne's 'Gold Standard Safe Harbor', you may use potentially sensitive data only to validate your finding, report it, and verify the effectiveness of a fix. Do not retain or misuse such data, and report all accesses to TFH immediately after discovery.
TFH reserves the right to change or modify the terms of this program at any time.
Thank you for helping keep TFH and the World ecosystem safe!