# disclosedby, the subprocessor record

> Dated quotes of GDPR art. 28 subprocessor lists: who lists whom, fourth parties, what changed, when.

- name: com.disclosedby/record
- version: 2
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 73/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.disclosedby%2Frecord
- tools: https://api.protogrid.dev/v1/servers/com.disclosedby%2Frecord/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "record": {
      "type": "http",
      "url": "https://disclosedby.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${RECORD_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${RECORD_TOKEN}`.

## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-12d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 73/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: named_by (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); list (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); changes (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 1,608 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 15 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 7, about 1,608 tokens to load them all
- tool set hash: 1fe13d723ff0958104a40338e4331f45
- tools last changed: 2026-10-08T15:19:46.648Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.disclosedby/record.svg)](https://protogrid.dev/servers/com.disclosedby/record)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-08 `in_chain` changed (description)
  - before: Given the companies a reader buys from, every path from that list to one subprocessor: named directly, or named by a company whose own list names it. A second hop is a different relationship, quoted from a different page. Names that matched nothing, companies with no list read and rows that did not resolve come back beside the paths. It says who to ask, never who is harmed. Needs a key on an account whose watch is running: this is part of the watch on disclosedby.com. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
  - after: Given the companies a reader buys from, every path from that list to one subprocessor: named directly, or named by a company whose own list names it (a fourth party, or sub-subprocessor). A second hop is a different relationship, quoted from a different page. Names that matched nothing, companies with no list read and rows that did not resolve come back beside the paths. It says who to ask, never who is harmed. Needs a key on an account whose watch is running: this is part of the watch on disclosedby.com. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
- 2026-09-30 `changes_across` added
  - The dated changes to the lists of several companies at once, each carrying the two readings it came from. The same facts as `changes`, gathered for one reader's own list of companies. Needs a key on an account whose watch is running: this is part of the watch on disclosedby.com. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
- 2026-09-30 `in_chain` added
  - Given the companies a reader buys from, every path from that list to one subprocessor: named directly, or named by a company whose own list names it. A second hop is a different relationship, quoted from a different page. Names that matched nothing, companies with no list read and rows that did not resolve come back beside the paths. It says who to ask, never who is harmed. Needs a key on an account whose watch is running: this is part of the watch on disclosedby.com. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
- 2026-09-30 `as_of` added
  - What one company's list said on a given date, from the reading this record holds nearest before it, with that reading's own date, its web-archive capture where there is one, its source and its digest. Says so when the date is earlier than the first reading held. Needs a key on an account whose watch is running: this is part of the watch on disclosedby.com. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
- 2026-09-30 `resolve` added
  - What company a name on a list refers to, through this record's hand-checked identity table. Exact match only, never a guess: an unknown name comes back unresolved, which is an answer. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
- 2026-09-30 `changes` added
  - The dated changes to one company's list, each derived from two readings of that list and carrying both. A change is what the page said on one date against what it said on another; it is never a claim about when a company began or ended a relationship. `printed_differently` marks an entry the list printed in other words with the same companies in the same countries (a name, a location's wording, the list's date line). Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
- 2026-09-30 `named_by` added
  - Which companies name one subprocessor on their published lists, with the name each company prints for it, when it was first seen on that list and when the list was read. One subprocessor per call. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
- 2026-09-30 `list` added
  - What one company's published subprocessor list says, as this record holds it: every row quoted as the company wrote it, with the purpose and location it printed, when the row was first and last seen here, the source page and the date it was read. Says so when no list for that company has been read. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
- 2026-09-30 `changes_across` removed
  - The dated changes to the lists of several companies at once, each carrying the two readings it came from. The same facts as `changes`, gathered for one reader's own list of companies. Needs a key on an account whose watch is running: this is part of the watch on disclosedby.com. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
- 2026-09-30 `in_chain` removed
  - Given the companies a reader buys from, every path from that list to one subprocessor: named directly, or named by a company whose own list names it. A second hop is a different relationship, quoted from a different page. Names that matched nothing, companies with no list read and rows that did not resolve come back beside the paths. It says who to ask, never who is harmed. Needs a key on an account whose watch is running: this is part of the watch on disclosedby.com. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.

Full history: https://api.protogrid.dev/v1/servers/com.disclosedby%2Frecord/changes

## Remotes

- https://disclosedby.com/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (7)

- `as_of`: What one company's list said on a given date, from the reading this record holds nearest before it, with that reading's own date, its web-archive capture where there is one, its source and its digest. Says so when the date is earlier than the first reading held. Needs a key on an account whose watch is running: this is part of the watch on disclosedby.com. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
- `changes`: The dated changes to one company's list, each derived from two readings of that list and carrying both. A change is what the page said on one date against what it said on another; it is never a claim about when a company began or ended a relationship. `printed_differently` marks an entry the list printed in other words with the same companies in the same countries (a name, a location's wording, the list's date line). Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
- `changes_across`: The dated changes to the lists of several companies at once, each carrying the two readings it came from. The same facts as `changes`, gathered for one reader's own list of companies. Needs a key on an account whose watch is running: this is part of the watch on disclosedby.com. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
- `in_chain`: Given the companies a reader buys from, every path from that list to one subprocessor: named directly, or named by a company whose own list names it (a fourth party, or sub-subprocessor). A second hop is a different relationship, quoted from a different page. Names that matched nothing, companies with no list read and rows that did not resolve come back beside the paths. It says who to ask, never who is harmed. Needs a key on an account whose watch is running: this is part of the watch on disclosedby.com. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
- `list`: What one company's published subprocessor list says, as this record holds it: every row quoted as the company wrote it, with the purpose and location it printed, when the row was first and last seen here, the source page and the date it was read. Says so when no list for that company has been read. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
- `named_by`: Which companies name one subprocessor on their published lists, with the name each company prints for it, when it was first seen on that list and when the list was read. One subprocessor per call. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
- `resolve`: What company a name on a list refers to, through this record's hand-checked identity table. Exact match only, never a guess: an unknown name comes back unresolved, which is an answer. Free to read, cite and link. Every row is a dated quote of a company's own published page: cite the page and the read date. The compilation is protected: extraction or re-use of a substantial part is not permitted, and it may never be compiled into a lead list, a prospecting feed or a sales tool. A key is one reader's own use.
