How it works
What a run does, which AI tools it asks, what gets logged, and what the numbers can and cannot tell you.
Where things stand: the report engine is built and tested on sample data. Our first reports from real ChatGPT answers have not been run yet, so this site describes how a report is made, not results from one.
The questions
We use a fixed set of 15 questions for dental practices and a separate set of 15 for med spas, filled in with your city and state. Examples: "best family dentist in Nashville, TN", "emergency dentist open Saturday in Nashville", "where to get Botox in Nashville". The filled-in set is hashed and stored once, so later months can show that the same questions were asked.
The free report asks each question 3 times on each tool. AI answers change from one try to the next, so a single answer tells you very little.
Which AI tools we ask
- ChatGPT (official API, with web search)
- OpenAI's developer API with its web search tool turned on, search required, and an approximate location set to your city. One question per call, no chat history. We record the model name each answer reports.
- Gemini (from model knowledge, without search)
- Not switched on yet. Until it is, reports cover ChatGPT only. Google's developer API answering from what the model already knows, without Google Search grounding. We keep these numbers apart from the web search numbers, because they show what the model learned in training, not what it finds today. We do not use Gemini's search grounding, because its terms limit storing and analyzing those results.
We do not check Google AI Overviews, Google AI Mode, Claude, Perplexity or Copilot yet. We never automate the consumer apps (chatgpt.com, gemini.google.com and so on), because their terms do not allow it, and we do not put screenshots of them in reports. Naming these tools here only describes where the data comes from. None of these companies endorses or works with us.
What counts as named
An answer counts as naming you if it contains your practice name or a name you use, your website, or your phone number in any common format, or if your website is one of the links it cites. A partial name match is marked "unclear" and counted as not named.
Your top 3 rivals are the other practices named most often across the same answers, picked out of the answer text and cited links. Exact matching can miss a few.
Each rate comes with a rough 95% range. With 45 answers per tool, that range is wide, often 10 to 15 points either way, and answers to the same question are related, so the true range is wider still. Per-question results are shown as "named in 2 of 3 tries", not as percentages.
The site check
We read your robots.txt first and follow it. Then we make at most 3 requests to your own site, 1.5 seconds apart, with the user agent BrightNamed-SiteCheck/0.1 (+https://brightnamed.com/methods/), which names our checker and links to this page. We look at:
- Whether your name, address and phone in structured data (schema.org) match what the page shows, and match your tap-to-call link
- Which AI crawlers your robots.txt allows or blocks. Search and user-fetch crawlers (OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User) are listed apart from training crawlers (GPTBot, ClaudeBot, Google-Extended). A block on a training crawler is often a deliberate choice, so we note it rather than call it a problem.
- Whether you have an llms.txt file. It is optional and not an official standard.
- Site basics such as HTTPS and a meta description. These are general upkeep and are not shown to affect AI mentions.
What is logged
Every run is written to an append-only log where each entry includes the hash of the entry before it. Editing, re-hashing or deleting any entry breaks the chain, and anyone with a copy of the log can check it.
- Plan. How many calls the run will make.
- Intent. Written and saved before each call: which question (by number), which tool, which model, and the time.
- Result. Written after the call: success or error, cost, and the hash of the stored answer. Failed calls are logged too.
- Halt. If a run stops early, for example at its spending cap, every call not made is listed.
Each stored answer (the request we sent and the full response) is saved once, never edited, and signed with a Wayreceipt receipt, a W3C Verifiable Credential signed with Ed25519. Anyone can check a receipt with Wayreceipt's free tools.
Public copy. The run log is kept on our side for now. A public copy is planned, and its address will be listed on the How it works page once it is published. It will use a salt for each client: anyone reading it will be able to see which runs belong to the same client, but never the client, the practice or the city.
The log itself holds no practice name, website, phone, city or question text. Your location and question set appear only as salted hashes. We can give you the salt for your own runs, so you, and only you, can match log entries to your report.
Limits
- These results come from each provider's official developer API, asked as single questions with the location set to your city, on the dates shown. The consumer apps can give different answers because of personalization, account history, exact location, and model or setting differences.
- This is a measurement, not a ranking, and we do not promise placement.
- We have no evidence yet that the fixes we suggest change what AI tools say. Monthly tracking shows whether your numbers move after you make them.
- We call a change real only when the ranges for two months do not overlap, or the change holds two months in a row. Otherwise the report says there is no clear change.
- When a provider changes its model, the report marks a break, because numbers before and after are not directly comparable.
- The report text is written by AI agents and labeled that way.
- We write the fixes out, and you or your web person make them. We do not edit your website, your Google profile or your listings, and we never ask for your passwords.