The context engine for gRPC and Protobuf.

ProtoMap is a context engine and model harness. It scans your source code and gives engineers and coding agents organization-wide context on every gRPC service and Protobuf message: callers, dependencies, call sites, and field-level dataflows.

  • Built from source code
  • Every repository in your organization
  • Same commit, same context

Trusted by

  • Replit
  • Labcorp
  • Wintrust
  • Senseonics
  • Juvare
faster per prompt
7.7×
cheaper per prompt
6.4×
fewer tokens
13×

Claude Code with Opus 5.5 at high effort, across 20 prompts on 9 gRPC repositories (5M LOC), with higher accuracy (100% vs. 98%). See the benchmarks

ProtoMap and the Privacy Code Scanner

For engineering teams and coding agents

ProtoMap

A context engine and model harness for gRPC and Protobuf. Engineers query it in plain English; coding agents query it over MCP instead of grepping across repositories.

  • Callers, dependencies, call sites, and field-level dataflows
  • 13× fewer tokens and 7.7× faster answers in the benchmarks
  • Free on one machine; cloud or on-premises for your organization
For privacy, security, and compliance teams

Privacy Code Scanner

Deterministic, code-level evidence of where sensitive data flows: into logs, storage, APIs, and third-party and AI integrations.

  • 100+ sensitive data types, including PII, PHI, card data, and secrets
  • GDPR data mapping and RoPA evidence, grounded in code
  • Pre-merge checks in CI that stop leaks before production

What each team gets

Engineering: gRPC and Protobuf context for your coding agents

The gap

API specs alone don't cover the services and fields consuming your APIs.

The cost

Without it, agents spend tokens grepping repositories and writing ad hoc scripts to parse code relationships, often on code that isn't checked out locally, and still miss callers.

With HoundDog.ai

ProtoMap’s MCP server gives your agent exact cross-repository context, so a prompt to update a service or API runs 7.7× faster and 6.4× cheaper.

The questions behind every cross-service change, answered from code.

Engineers ask in plain English in the web platform. Coding agents ask over MCP. Both get the same deterministic answer.

Multi-hop service dependencies

What breaks if I change this service?

Visualize the blast radius up to five hops out, with callers in blue and callees in red, and drill down into every caller, callee and method.

Method dependencies

Who calls this RPC, and from where?

Callers and callees of a method two hops out, plus every call site with the calling method and its file location.

Field name dependencies

What is the blast radius of changing product_id?

The message that carries the field, where it is defined, and the services and repositories that send or receive it.

Code owners

Who depends on this service, and who do I notify?

Every inbound service and the repository it lives in, plus the maintainers and dependents of each service.

Unused RPCs

Which RPCs can we clean up?

RPCs with no callers or call sites in the scanned code, plus what to check before you remove each one.

ProtoMap By HoundDog.ai
New chat MessageDispatchCoordination blast radius ···
Ask ProtoMap about your code and data List all gRPC services Which services call <RPC method>? What is the blast radius of changing <field name>?
What breaks if I change MessageDispatchCoordination?
Thinking…
3 graph queries, 1 workspace view
MessageDispatchCoordination has 42 callers and 6 callees, five hops out each way:
Every caller goes through its one method, Dispatch.AuthService is among its 6 callees.Invoicing services, such as CreditNotePublication, call it most.
Shown in the workspace Service MessageDispatchCoordination
What breaks if I change MessageDispatchCoordination? Ask about your code and data…
Opus 5.5 · High
20 services
ServiceMethodsCallers
Service AuthService 4 1,000
Service CartService 3 2
Callers Service ApprovalThresholdAssessment Service CreditNoteAmountCalculation Service CreditNotePublication Service CreditNoteReasonValidation Service InvoiceApprovalCoordination 1–5 of 42 total
42
Repository protos Service MessageDispatchCoordination Method Dispatch
6
Callees Service AccessDecisionCoordination Service AuthService Service CommunicationConsentAssessment Service DeliveryChannelSelection Service MessageDeliveryPreparation 1–5 of 6 total
Service fixture.notifications.v1.MessageDispatchCoordination Methods
MethodRequestResponse
Method Dispatch Message DispatchRequest Message DispatchResponse
ProtoMap By HoundDog.ai
New chat CoverShift callers ···
Ask ProtoMap about your code and data List all gRPC services Which services call <RPC method>? What is the blast radius of changing <field name>?
Who calls CoverShift, and from where?
Thinking…
2 graph queries, 1 workspace view
42 methods call CoverShift, all from the facilities services. The first call sites:
FindIncident in building_incident_lookup.go:59SelectResources in emergency_resource_selection.go:59Respond in facility_emergency_coordination.go:73
Shown in the workspace Method CoverShift
Who calls CoverShift, and from where? Ask about your code and data…
Opus 5.5 · High
20 services
ServiceMethodsCallers
Service AuthService 4 1,000
Service CartService 3 2
Callers Method FindIncident Method SelectResources Method AssessEvacuation Method Respond 1–4 of 42 total
42
Service ShiftCoverageCoordination Method CoverShift
2
Callees Method Authenticate Method EnrollLearner 2 total
Method fixture.workforce.v1.ShiftCoverageCoordination/CoverShift Call sites
FromLocation
Method BuildingIncidentLookup/FindIncident building_incident_lookup.go:59
Method EmergencyResourceSelection/SelectResources emergency_resource_selection.go:59
Method FacilityEmergencyCoordination/Respond facility_emergency_coordination.go:73
ProtoMap By HoundDog.ai
New chat product_id blast radius ···
Ask ProtoMap about your code and data List all gRPC services Which services call <RPC method>? What is the blast radius of changing <field name>?
What is the blast radius of changing product_id?
Thinking…
2 graph queries, 1 workspace view
CartItem.product_id reaches 2 sender and 4 receiver services in 1 repository:
Sent by CartService and CheckoutService.Received by those two, EmailService, and ShippingService.Defined in demo.proto:30, and 4 more copies.
Shown in the workspace Field product_id
What is the blast radius of changing product_id? Ask about your code and data…
Opus 5.5 · High
20 services
ServiceMethodsCallers
Service AuthService 4 1,000
Service CartService 3 2
Sent from Service CheckoutService Service CartService
2
Message CartItem Field product_id
4
Received by Service ShippingService Service CartService Service CheckoutService Service EmailService
Field hipstershop.CartItem.product_id
PropertyValue
Type string
Definition microservices-demo › demo.proto:30
Blast radius 2 senders · 4 receivers · 1 repository
ProtoMap By HoundDog.ai
New chat AuthService dependents ···
Ask ProtoMap about your code and data List all gRPC services Which services call <RPC method>? What is the blast radius of changing <field name>?
Who depends on AuthService, and who do I notify?
Thinking…
3 graph queries, 1 workspace view
1,000 services call AuthService, all through Authenticate. Notify:
Its maintainers, who wrote most of identity-svc.The dependents who wrote its callers’ code, by lines.
Shown in the workspace Service AuthService
Who depends on AuthService, and who do I notify? Ask about your code and data…
Opus 5.5 · High
20 services
ServiceMethodsCallers
Service AuthService 4 1,000
Service CartService 3 2
Callers Service AccessDecisionCoordination Service CoverShiftCoordination Service MessageDispatchCoordination Service PayrollRunAssessment 1–4 of 1,000 total
1,000
Repository identity-svc Service AuthService Method Authenticate
Service fixture.identity.v1.AuthService Maintainers and dependents
NameRoleLines
Priya Shah Maintainer 18,240
Dana Kim Dependent 4,915
Marco Ruiz Dependent 3,102
ProtoMap By HoundDog.ai
New chat Finding unused RPCs to clean up ···
Ask ProtoMap about your code and data List all gRPC services Which services call <RPC method>? What is the blast radius of changing <field name>?
Which RPCs can we clean up?
Thinking…
13 graph queries, 1 workspace view
Two RPCs have no call sites in the scanned code:
RPCCall sitesHandlers
SearchProducts 0 1
Health/Check 0 none found
SearchProducts: check for callers outside the scanned repositories first.Health/Check: platforms, such as Kubernetes probes, call health checks.
Shown in the workspace Method SearchProducts
Which RPCs can we clean up? Ask about your code and data…
Opus 5.5 · High
20 services
ServiceMethodsCallers
Service AuthService 4 1,000
Service CartService 3 2
Service ProductCatalogService Method SearchProducts
0 callers · 0 call sites
Service Health Method Check
0 callers · 0 call sites
Method hipstershop.ProductCatalogService/SearchProducts
CallersCalleesCall sites
0 0 0

Typical questions come from different teams

With the self-hosted or cloud platform, your organization’s data map becomes queryable in plain English.

A privacy engineer asks which third-party integrations receive PII.

Which third parties receive PII?

HoundDog.ai Acme Corp
New chat Which third parties receive PII? ···
Ask HoundDog.ai about your data Suggested for you Which repositories handle medical data?Show me the most severe open risky dataflows right nowWhich third parties receive PII?Which AI services receive sensitive data in our code?What data elements are present in my code?
Which third parties receive PII?
Searching…
Searched the datamap
Opened a page
Two third-party data sinks receive PII, counting PHI, PIFI and CHD as PII. Both are in one repository, hounddogai/hounddog-test-python, on the main branch:
Third partyData elementTag and sensitivityDataflows
OpenAI Medical History PHI, high 1 risky dataflow
Sentry Phone Number PII, medium 1 risky dataflow
I've opened the Datamap's Data Sinks view filtered to these two sinks.
Datamap · Data Sinks
Which third parties receive PII? Ask about your data…
8 dataflows 12 dataflows 56 dataflows 43 dataflows 8 dataflows 12 dataflows 56 dataflows 21 dataflows 22 dataflows
53 Data Elements Aadhaar Number PII Auth Token SECRET Bank Account Number PIFI Bank Card Number CHDPIFI Biometrics PHI
HoundDog.ai
7 Data Sinks RISKY Config Files Logs OpenAI 3PAI Sentry 3P SQL Database DB
6 Data Sinks SAFE Discord 3P Files HTTP JSON Web Token OpenTelemetry
1 dataflow 1 dataflow 1 dataflow 1 dataflow
2 Data Elements Medical History PHI Phone Number PII
HoundDog.ai
OpenAI 3PAI RISKY
Sentry 3P RISKY

Why not just use an LLM?

HoundDog.ai is built to make your AI more effective, not to replace it.

01

Tokens for reasoning, not discovery.

The scanners discover every gRPC service, Protobuf field and sensitive dataflow, so your AI tokens go to assessing the blast radius, planning changes, triaging risk and answering questions.

02

Evidence you can stand behind.

The same commit always produces the same context. Every engineer, privacy reviewer and agent gets the same answer about what a change will break and where sensitive data goes, instead of output that varies with the prompt.

03

Easy to roll out org-wide.

The Rust scanner runs in CI on standard CPU infrastructure, across every repo and every commit, with negligible impact on build times.

Measured results

ProtoMap

Change planning & AI coding agents

Headline result 8×

reduction in tokens and time for change-planning tasks (enterprise customer, monorepo of millions of lines of code).

Cost $4.46 → $0.20

for a single prompt, 8m 13s down to 27s (Claude Code, Opus 5.5). See the benchmarks

Speed Every commit

context refreshes in CI on standard CPU infrastructure.

Privacy Code Scanner

GDPR data mapping, RoPA & leak prevention

Headline result 90%

less manual data-mapping effort (Fortune 500 outcome).

Cost $2M

saved by one customer in eng hours and masking tooling.

Speed < 5 min

to remediate a flagged exposure, fix suggested in the PR.

ProtoMap's figures are from its benchmarks, for one prompt (Q09, finding every caller of a method to remove it): Claude Code with Opus 5.5 at high effort, on 9 gRPC repositories with 5 million lines of code, with and without ProtoMap. Results vary by model, repository, prompt and task.

HoundDog.ai + Replit

50M
Users protected
100k
Scans daily
100+
Data types
  • Detects leaks before publishing. Auth tokens and passwords in logs or local storage, caught at scan time.
  • Flags unscoped AI & third-party flows. PII/PHI to integrations that don't match published privacy notices.
  • Privacy by default, not retrofit. AI-generated apps embed GDPR & CCPA best practices from day one.
Replit Security and Privacy Scanner, powered by HoundDog.ai, showing a flagged Medical Record Number sent to standard output with GDPR, CCPA, HIPAA, and NIST compliance tags

Try it on your code.

Install the self-hosted version for free. It runs on your machine with Docker, and your source code stays in your environment.

Paste into your coding agent

Set up ProtoMap and show me what it can do. ProtoMap maps gRPC services and protobuf messages across repositories, and gives coding agents that graph over MCP. Docs: https://docs.protomap.ai/quickstart/

Tell me what you are about to do before each step that installs something.

1. Check that this computer has git, Docker with Compose 2.23.1 or newer, at least 4 GB of RAM, and 20 GB of disk space. If anything is missing, tell me and stop.

2. Install ProtoMap Server, in a folder outside this repository:

   git clone https://github.com/hounddogai/protomap.git
   cd protomap
   ./self-hosted/scripts/install.sh

   The installer asks questions. Choose Trial, which runs PostgreSQL locally and logs the CLI in, and keep the default port.

3. Show me the address and the one-time setup key the installer prints. Ask me to open the address, enter the key, and create my organization and owner account. Wait until I say that's done.

4. Scan this repository, from a new shell so the CLI is on the PATH:

   protomap scan .

   If it has no gRPC services in a supported language, tell me, and offer to scan a public example instead:

   git clone https://github.com/GoogleCloudPlatform/microservices-demo.git
   protomap scan microservices-demo

5. From the scanned repository's folder, add ProtoMap to yourself as an MCP server:

   Claude Code: claude mcp add protomap -- protomap mcp serve
   Codex: codex mcp add protomap -- protomap mcp serve
   Antigravity: add "protomap": { "command": "protomap", "args": ["mcp", "serve"] } under mcpServers in ~/.gemini/config/mcp_config.json
   Others: https://docs.protomap.ai/coding-agents/

   Tell me if I need to restart you for it to take effect.

6. Tell me what the scan found, then use ProtoMap's tools to answer one question about my services, such as which services call a method and where. Suggest two more questions I could ask.