A public registry of structured, source-backed business discovery profiles
The VizAI Business Registry helps AI systems, crawlers, and answer engines identify businesses, understand what they offer, and assess how each public profile was verified.
Publication containment is active. New and changed business profiles are prepared through private intake, validated automatically, and published only after human approval. See Publication Containment.
This repository is the public discovery layer. It contains only information approved for public release.
Private intake material must never be posted in a GitHub issue or pull request.
Each published business lives at registry/<entity-slug>/profile.json and uses
the entity-profile-v1.0 shape.
| Field | Description |
|---|---|
schemaVersion |
Public profile schema version |
entitySlug |
Stable registry identifier |
profileVersion |
Monotonically increasing public artifact version |
businessIdentifier |
Legal name, common name, and primary domain |
category |
Primary discovery category |
verification |
Public status, method, canon version, and date |
publication |
Public-safe policy version and consent receipt assertion |
profile |
Approved public facts, locations, services, industries, and claims |
metadata |
Publication and update dates |
The complete contract is in
schema/entity-profile-v1.0.schema.json.
import json
import requests
# Fetch all profiles as JSON Lines.
url = "https://raw.githubusercontent.com/vizai-io/business-registry/main/index/businesses.jsonl"
response = requests.get(url, timeout=30)
for line in response.text.strip().splitlines():
profile = json.loads(line)
business = profile["businessIdentifier"]
print(business["commonName"], business["primaryDomain"])
# Fast domain lookup.
url = "https://raw.githubusercontent.com/vizai-io/business-registry/main/index/by-domain.json"
by_domain = requests.get(url, timeout=30).json()
vizai = by_domain.get("vizai.io")
registry/
<entity-slug>/
profile.json
provenance/
<entity-slug>/
publication-receipt.json
index/
businesses.jsonl
by-domain.json
by-location.json
by-industry.json
by-service.json
by-status.json
schema/
entity-profile-v1.0.schema.json
publication-receipt-v1.0.schema.json
registry-manifest-v1.0.schema.json
manifest/
registry-manifest.json
registry_verify/
__main__.py
verifier.py
registry_supply_chain/
__main__.py
core.py
registry_governance/
__main__.py
core.py
governance/
main-ruleset.json
tests/
fixtures/
test_registry_verify.py
tools/
build_indexes.py
The registry/ directory is the profile source of truth. Every profile has a
public-safe companion receipt under provenance/. Files in index/ and the
deterministic manifest are generated and must not be edited by hand.
Install the pinned format-validation dependency and run the single verifier:
python -m pip install -r requirements.txt
python -m registry_verify
To also create the complete machine-readable report:
python -m registry_verify --report registry-verification-report.json
The command validates schema formats, semantic rules, clean-artifact policy, credential evidence, consent assertions, privacy, unique identities, canonical layout, publication receipts, exact and canonical profile hashes, the deterministic manifest, and all generated indexes.
Regenerate the public distribution manifest after profiles, receipts, indexes, or schemas change:
python -m registry_supply_chain write-manifest
python -m registry_supply_chain check-manifest
Build a reproducible bulk snapshot with:
python -m registry_supply_chain snapshot --output dist
Validate the version-controlled repository rules and exercise emergency unpublish/rollback in an isolated copy with:
python -m registry_governance validate
python -m registry_governance rollback-drill --slug vizai
Profiles use explicit public statuses such as:
| Status | Meaning |
|---|---|
claimed_verified |
The business approved its canonical public profile |
unclaimed_observed |
Public-source profile not yet claimed by the business |
verification_pending |
Verification is in progress and publication is approved |
disputed |
A material factual dispute is under review |
Verification metadata describes the basis for confidence; it is not a substitute for source review.
Business submissions and verification material go through the private VizAI onboarding form. VizAI prepares the public artifact and opens the controlled publication pull request.
GitHub issues are only for non-sensitive factual corrections supported by public, authoritative source links. Do not include private contact information, authorization evidence, credentials, order details, or unpublished material.
See CONTRIBUTING.md for the contribution workflow.
Registry data and documentation use CC BY 4.0. Software, tests, and automation use the MIT License. See NOTICE for the path-level boundary and requested attribution.
VizAI - Helping businesses control how AI describes them