# WEB-146 — A substituted profile must be a business page, not a personal one

> A social profile standing in for a website must be a business page carrying the business name, a description of what it does, and contact information.

- **Rule ID:** WEB-146
- **Layer:** Website (`WEBSITE`)
- **Checks:** `substituted social profile type and content`
- **Severity:** HIGH — Rejected by at least one carrier or provider, and a common cause of failure at the rest.
- **When it bites:** Gates approval — get this wrong and registration is refused
- **How it is detected:** AI judgement over the crawled website or policy page; AI vision over a consent artifact (screenshot, scan, MMS media)
- **Fix type:** Fix the website — no form edit clears it
- **Required by:** AWS, Twilio, Zoom
- **Applies:** Applies to every 10DLC registration.
- **Canonical URL:** https://ekas.io/rules/10dlc/website/web-146/

## Why this rule exists

A personal timeline proves a person exists, which is not the question — the registration is asserting that a business exists and does what the campaign claims. The distinction matters most for the sole proprietors this route was built for, who often run the business from the account they already had, and who can fix it by converting the page rather than building a site.

## How to fix it

Convert the profile to a business or page account and fill in the name, the category, a description of the products or services, and a contact method. Done when the profile shows the registered business name and a way to reach it without sending a direct message.

## Provider rejection codes

| Provider | Code | Resubmission allowed |
| --- | --- | --- |
| Twilio (gen2) | `30490` | yes |

## Notes

Absorbs BRD-138. Readable either from the crawled profile text or from a screenshot, which is why it is dual CRAWL + VISION rather than vision-only.
