The Five-Layer Dossier
Can I get tech, firmographics, infra, AI, and security in one call?
Yes. A single sniff_domain call returns all five layers (tech stack, infrastructure, firmographics, AI-readiness, and security) correlated in one dossier, keyless. You do not stitch five tools together. The fusion runs server-side, so the summary already ties primary_stack to icp_signal before you read a single detection.
Best move: make one sniff_domain call and read the fused summary before you open a single layer.
Why it works: Bassethound gathers and correlates the five layers inside one request, so the top-level summary (primary_stack, ai_readiness, security_grade, icp_signal) already sits on evidence you can drill into. You never reconcile five schemas by hand.
Key takeaways
- One sniff_domain call returns all five layers (tech, infrastructure, firmographics, AI-readiness, security) plus a fused top-level summary.
- The layers come back correlated, not concatenated. The summary maps evidence across all five into primary_stack, ai_readiness, security_grade, and icp_signal.
- The call is keyless on the free tier and stateless. Every request is self-contained, and the server carries nothing from one call to the next.
- Profile selects depth. fast is deterministic and keyless (~1-3s); standard adds the AI stack and firmographics; deep adds the security grade, follow-on probes, and Wayback first-seen history.
- A static crawl plus optional JS render can miss server-side or proxied components. Bassethound marks those gaps instead of guessing.
What comes back in a single sniff_domain call?
Five layers and a summary, in one JSON payload. The tech layer lists frameworks, CMS, analytics, widgets, payments, and ecommerce, and every detection carries category, version, confidence, how_detected, and evidence. The infrastructure layer returns IP, ASN, hosting org, CDN, nameservers, MX records, email provider, DNS TXT vendors, the SPF/DKIM/DMARC booleans, and the TLS certificate (issuer, SANs, expiry, days_remaining). Firmographics returns company name, vertical, description, contacts, social profiles, and structured data. AI-readiness fingerprints model providers, AI SDKs, orchestration frameworks, vector stores, LLM observability, AI widgets, llms.txt, MCP endpoints, and .well-known files, then scores an ai_readiness value out of six and assigns a verdict of shipping, experimenting, or none. Security returns a header grade from A to F plus a TLS grade. On top of all of it, the summary fuses primary_stack, ai_readiness {score, verdict}, security_grade, and an icp_signal of hot, warm, or cold. Read the verdict, then drill into the evidence under it. One request, one correlated result, no assembly on your side.
Why does one correlated call beat five separate lookups?
Fusion is the moat, and the stitch is the expensive part. An agent can call a tech-stack tool, an infra tool, and a firmographics tool, then merge the outputs. Merging is where the cost hides. You reconcile five schemas, five confidence conventions, and five identity keys, and after all of that you still lack the cross-layer inference. An OpenAI SDK in the tech layer means one thing on its own. Read it next to a lean firmographic profile and a hosting footprint built to scale, and the summary can flag the whole entity as a hot icp_signal instead of a lone green check. No single vendor sees those three in the same request, so the join lands on you. Bassethound runs the layers together and computes the summary from every one of them, so icp_signal reflects the whole entity rather than one axis. Five MCPs give you fan-out: five round trips, five bills. One call gives you correlation. An agent cannot cheaply reproduce correlation, because it only exists when all five layers sit in the same request. That is why one keyless call beats five keyed ones.
Which profile returns all five layers?
deep, for the complete dossier with the security grade, follow-on probes, and Wayback first-seen history. standard, the default, returns four rich layers (tech, infrastructure, firmographics, AI-readiness) and the fused ai_readiness verdict. fast is deterministic and keyless, roughly 1-3 seconds, and covers tech and infrastructure alone. Reach for fast when you want a cheap, repeatable read on framework and hosting. The ladder trades time for depth: more layers cost more seconds and, past the free tier, more of your rate budget. Name the profile so the depth matches the decision in front of you. Run standard to qualify leads in bulk. To audit one domain, run deep and read the security grade against the TLS certificate expiry. To screen a long list, run fast and escalate the hits. The five layers hold the same shape across profiles; the profile decides how much of each you get back.
Where does the one-call dossier fall short?
On anything that never touches the browser. Bassethound reads static HTML and renders JavaScript when the signals call for it. A component that runs server-side, or sits behind a reverse proxy, leaves no client-side trail. It stays out of the loaded scripts and the network hostnames, so a backend model provider or a server-only integration can slip past a single pass. The dossier does not paper over this. Each detection reports how_detected and confidence, and the result flags what the crawl could not reach. Read a missing signal as weaker evidence than a present one, never as proof of absence. A detected Pinecone client is a strong positive. The lack of one is not a clean negative, because that client could initialize server-side where the crawl cannot follow. Every remote crawler makes this trade, and pretending otherwise would make the dossier less useful, not more. You get a fast, correlated, keyless read with its limits marked on the face of the result, so you know how much weight each layer carries before you act.
How does an agent consume the result?
Over MCP. The endpoint is a remote MCP server at mcp.bassethound.ai/mcp, and any host (Claude, Cursor, ChatGPT) connects and calls sniff_domain(domain, profile). No key on the free tier, rate-limited; the paid tier uses OAuth for higher depth and volume. Because the server is stateless and read-only, an agent can fire the call mid-reasoning, read the fused summary, branch on icp_signal, and drill into the evidence behind any layer, all in one round trip. No session to set up, no state to carry between calls. That shape is what makes the tool agentic: the investigation runs inside a single request, and the agent gets back a correlated verdict it can act on without stitching sources. Point your host at the endpoint, pass a domain and a profile, and read the dossier back as structured JSON.
Bassethound perspective
The industry sells fan-out and calls it coverage. BuiltWith gives you tech. IPinfo and Censys give you infra. Apollo and Clearbit give you firmographics. Each runs deep on one axis and goes blind to the rest, and the join is your problem. We think the join is the product. A domain is one entity seen through five lenses, and the value lives where they cross. A vector store next to a serverless host next to an llms.txt tells you a company ships AI, and no single vendor sees all three in the same request. Wiring five separate MCP calls into an agent does not fix that. You still pay five round trips, reconcile five schemas, and compute the cross-layer inference yourself. Bassethound computes it once, server-side, because we own the crawl. That ownership is also why keyless works: no bring-your-own-key, no per-vendor account. One call, five layers, one fused verdict. Competitors will call correlation a thin wrapper over their data. It is not. It is the part they left for you to build.
Sources
- Model Context Protocol: https://modelcontextprotocol.io
- llms.txt standard: https://llmstxt.org
- MDN HTTP headers reference: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers
- Mozilla SSL Configuration Generator: https://ssl-config.mozilla.org
Frequently asked questions
Is it really one call, or does the server fan out behind the scenes?
One call for you. Bassethound may run several probes internally, but they resolve inside a single stateless request and come back as one correlated dossier. You never orchestrate the fan-out or reconcile the pieces yourself.
Which profile do I pass to get all five layers?
Use deep for the full dossier including the security header grade and Wayback first-seen history. standard covers tech, infrastructure, firmographics, and AI-readiness. fast returns tech and infra deterministically in about 1-3 seconds, keyless.
Do I need an API key?
No, not on the free tier. The keyless tier is rate-limited. The paid tier uses OAuth for higher depth and volume. We own the crawl, so there is no bring-your-own-key to configure.
Is any of the dossier stored after the call?
Yes. Your results are stored against your account, and the privacy policy governs them. The server is stateless, so every request is self-contained and nothing carries from one call to the next.
What can a one-call dossier miss?
Fully server-side or proxied components that leave no client-side trail. A static crawl plus optional JS render cannot see a backend that never touches the browser. The dossier flags those gaps instead of guessing.