# ID verification (KYC)

helodata requires identity verification (KYC) before you can use mobile or ISP products. Residential and the API don't need it. This is a legal compliance requirement, not a sales gate.

## Why we ask

Mobile and ISP IPs are tied to real people and physical infrastructure. Misuse can cause real harm — phone-number spoofing scams, account takeovers, denial-of-service. KYC lets us:

* Stop bad actors at the door rather than after an incident
* Comply with our upstream carrier and ISP agreements
* Meet sanctions and AML regulations in the jurisdictions we operate in

## What we ask for

### Individual

* Government photo ID (passport, national ID, or driver's license)
* A selfie holding the ID and a paper with today's date and "helodata"
* (For some jurisdictions) proof of address dated within 90 days

Processing time: typically 1 business day, up to 3 for unusual cases.

### Company

* Certificate of incorporation
* Government-issued ID of the **beneficial owner** (anyone with >25% ownership)
* The owner's selfie as above
* Company registration number and tax ID
* Proof of address for the company (utility bill, lease, or bank statement <90 days old)

Processing: 2–5 business days.

## Submitting

1. **Settings → KYC**.
2. Pick **Individual** or **Company**.
3. Upload the documents. Files are encrypted at rest and only accessible by our compliance team.
4. Submit.

Status transitions:

* `not-submitted` → `pending` → `approved` (good to go)
* `not-submitted` → `pending` → `rejected` → fix and resubmit

Email notifications at each transition.

## What "approved" unlocks

* Mobile product (ordering and proxy usage)
* ISP product (ordering and proxy usage)
* Higher RPS / concurrent caps on residential

## If rejected

The email tells you why. Common reasons:

* ID expired
* Selfie doesn't match ID
* Document image too blurry or cropped
* Address proof outside 90 days

Fix and resubmit via the same page. There's no penalty for multiple submissions.

## Sanctioned jurisdictions

We can't onboard customers in countries / regions on the OFAC, EU, UK, or UN sanctions lists. The dashboard blocks signup; if you reach KYC and are in a sanctioned jurisdiction, the application is rejected automatically.

## Data retention

We keep KYC documents for **5 years after account closure**, per AML rules. After that they're deleted irrecoverably. You can request earlier deletion if you have no remaining obligations (no unpaid balance, no ongoing dispute).

## Re-verification

We may ask for re-verification:

* Every 24 months for individuals
* When ownership changes (companies)
* After a major usage pattern shift (e.g. a 100× volume increase overnight)

You'll get 14 days' notice; products remain available during re-verification unless something suspicious is flagged.

## Privacy

* KYC documents are **never** used for marketing
* Not shared with third parties except where legally compelled
* Stored encrypted; accessible only by named compliance staff
* See our full Privacy Policy at helodata.com/privacy

## API

```bash
# Read status
curl -H "Authorization: Bearer API_KEY" \
     https://api.helodata.com/v1/users/me        # returns kyc_status

# Submission is dashboard-only — documents have to go through the hosted form
```

## Common pitfalls

* **Submitting before signing up the account** — KYC is account-level. Create the account first.
* **Personal account but ordering for a company** — billing entity must match the KYC entity. Submit company KYC if invoices need to go to a company.
* **Different country card vs ID** — usually fine, but flag it in the submission notes to skip a manual review round.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.helodata.com/account-and-billing/kyc.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
