Council of AI GSPC
このMCPでできること
Publishes and verifies signed measurement cards, trust snapshots, registry evidence, and machine-readable compliance-related evidence without issuing certifications.
ツール
入力スキーマ
{'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Public http(s) URL of the generative output to measure (â\x89¤20 MiB).'}, 'preview': {'type': 'boolean', 'description': 'true = free unsigned measurement (no card sha, no signature).'}, 'bytes_b64': {'type': 'string', 'description': 'Alternatively the output bytes, base64 (â\x89¤20 MiB decoded).'}, 'x_payment': {'type': 'string', 'description': 'The X-PAYMENT header value signed against accepts[] from the previous 402. Omit to receive the challenge.'}, 'manifest_b64': {'type': 'string', 'description': 'Alternatively a detached C2PA manifest store, base64 (manifest-only mode).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['status'], 'properties': {'tool': {'type': 'string'}, 'route': {'type': 'string'}, 'status': {'type': 'string', 'description': 'PAYMENT_REQUIRED, DELIVERED, NOT_DEPLOYED, UNREACHABLE, UNREADABLE_RESPONSE, BAD_ARGUMENTS or HTTP_<code>'}, 'accepts': {'type': 'array'}, 'resource': {'type': 'object'}, 'deliverable': {}, 'http_status': {'type': 'integer'}, 'x402Version': {'type': 'integer'}, 'delivery_state': {'type': 'string'}, 'settlement_state': {'type': 'string'}, 'payment_presented': {'type': 'boolean'}, 'not_a_certification': {'type': 'boolean'}}, 'description': "The wrapper's status fields. On PAYMENT_REQUIRED (isError:true) the route's x402 PaymentRequired object (x402Version, resource, accepts, extensions) is spread at the top level too, per the x402 MCP transport."}
入力スキーマ
{'type': 'object', 'properties': {'detail': {'enum': ['summary', 'full'], 'type': 'string', 'default': 'summary', 'description': "summary (default): counts, public_count, the separation line, dates and source. full: also count_grammar, by_family and the board's measured_on block."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'as_of': {}, 'state': {'type': 'string', 'description': 'LIVE or UNREACHABLE'}, 'counts': {'type': 'array', 'items': {'type': 'object', 'properties': {'kind': {'type': 'string'}, 'name': {'type': 'string'}}}}, 'detail': {'type': 'string', 'description': 'summary or full'}, 'source': {'type': 'string'}, 'by_family': {}, 'separation': {}, 'public_count': {'type': ['string', 'null']}, 'count_grammar': {}, 'not_a_certification': {'type': 'boolean'}}}
入力スキーマ
{'type': 'object', 'required': ['subject'], 'properties': {'axis': {'type': 'string', 'description': 'Optional axis slug; omit for the subject-level commission.'}, 'subject': {'type': 'string', 'description': 'Subject to commission: a model id, instrument id or card sha (1-120 chars of [A-Za-z0-9._:/@+-]).'}, 'x_payment': {'type': 'string', 'description': 'The X-PAYMENT header value (base64 x402 payload) signed by your wallet against accepts[] from the previous 402. Omit to receive the challenge.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['status'], 'properties': {'tool': {'type': 'string'}, 'route': {'type': 'string'}, 'status': {'type': 'string', 'description': 'PAYMENT_REQUIRED, DELIVERED, NOT_DEPLOYED, UNREACHABLE, UNREADABLE_RESPONSE, BAD_ARGUMENTS or HTTP_<code>'}, 'accepts': {'type': 'array'}, 'resource': {'type': 'object'}, 'deliverable': {}, 'http_status': {'type': 'integer'}, 'x402Version': {'type': 'integer'}, 'delivery_state': {'type': 'string'}, 'settlement_state': {'type': 'string'}, 'payment_presented': {'type': 'boolean'}, 'not_a_certification': {'type': 'boolean'}}, 'description': "The wrapper's status fields. On PAYMENT_REQUIRED (isError:true) the route's x402 PaymentRequired object (x402Version, resource, accepts, extensions) is spread at the top level too, per the x402 MCP transport."}
入力スキーマ
{'type': 'object', 'required': ['obligation'], 'properties': {'preview': {'type': 'boolean', 'description': 'true = the free preview (relevant-card count and first cards); nothing is charged.'}, 'subject': {'type': 'string', 'maxLength': 120, 'description': 'Optional: a model id, vendor or instrument the cards must name.'}, 'x_payment': {'type': 'string', 'description': 'The X-PAYMENT header value signed against accepts[] from the previous 402. Omit to receive the challenge.'}, 'obligation': {'enum': ['article-50', 'article-53', 'dora', 'cra'], 'type': 'string', 'description': 'article-50, article-53, dora or cra.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['status'], 'properties': {'tool': {'type': 'string'}, 'route': {'type': 'string'}, 'status': {'type': 'string', 'description': 'PAYMENT_REQUIRED, DELIVERED, NOT_DEPLOYED, UNREACHABLE, UNREADABLE_RESPONSE, BAD_ARGUMENTS or HTTP_<code>'}, 'accepts': {'type': 'array'}, 'resource': {'type': 'object'}, 'deliverable': {}, 'http_status': {'type': 'integer'}, 'x402Version': {'type': 'integer'}, 'delivery_state': {'type': 'string'}, 'settlement_state': {'type': 'string'}, 'payment_presented': {'type': 'boolean'}, 'not_a_certification': {'type': 'boolean'}}, 'description': "The wrapper's status fields. On PAYMENT_REQUIRED (isError:true) the route's x402 PaymentRequired object (x402Version, resource, accepts, extensions) is spread at the top level too, per the x402 MCP transport."}
入力スキーマ
{'type': 'object', 'required': ['obligation'], 'properties': {'subject': {'type': 'string', 'maxLength': 120, 'description': 'Optional: a model id, vendor or instrument the cards must name. Omit for the obligation-wide selection.'}, 'obligation': {'enum': ['article-50', 'article-53', 'dora', 'cra'], 'type': 'string', 'description': 'article-50 (AI-generated content marking), article-53 (GPAI provider documentation), dora (ICT third-party oversight) or cra (Cyber Resilience Act).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'cards': {'type': 'array', 'items': {'type': 'object'}}, 'state': {'enum': ['RELEVANT_CARDS_FOUND', 'EMPTY', 'UNKNOWN_OBLIGATION', 'BAD_ARGUMENTS', 'UNREACHABLE'], 'type': 'string'}, 'corpus': {}, 'reason': {'type': 'string'}, 'source': {'type': 'string'}, 'subject': {'type': ['string', 'null']}, 'relation': {'type': 'string'}, 'obligation': {'type': 'object'}, 'review_note': {'type': 'string'}, 'determination': {'type': 'string', 'const': 'NONE'}, 'counsel_confirmed': {'type': 'boolean'}, 'not_a_certification': {'type': 'boolean'}, 'relevant_signed_cards': {'type': 'integer'}}}
入力スキーマ
{'type': 'object', 'required': ['axis'], 'properties': {'axis': {'type': 'string', 'description': 'The axis name as it appears on the board, e.g. governance, safety, jail, provenance-controls. Case-insensitive. An unknown name returns the list of names the board actually carries.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'n': {}, 'axis': {'type': ['string', 'null']}, 'state': {'type': 'string', 'description': 'LIVE, NOT_ON_BOARD, BAD_INPUT or UNREACHABLE'}, 'family': {}, 'leader': {}, 'source': {'type': 'string'}, 'status': {'type': ['string', 'null']}, 'dataset': {}, 'accuracy': {}, 'interval': {}, 'measured': {'type': 'boolean'}, 'board_carries': {'type': 'array'}, 'resolved_from': {'type': 'string', 'description': 'present when the caller named an alias (e.g. gov) that resolved to this board axis'}, 'not_a_certification': {'type': 'boolean'}}}
入力スキーマ
{'type': 'object', 'required': ['sha256'], 'properties': {'sha256': {'type': 'string', 'description': '64-char hex payload SHA-256 of the card-v0 leaf.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'next': {'type': 'object', 'description': 'With NOT_IN_THIS_CORPUS: the tool call that checks this id.'}, 'state': {'type': 'string', 'description': 'VALID, NOT_IN_THIS_CORPUS, INVALID or UNCHECKABLE'}, 'corpus': {'type': 'string', 'description': 'With NOT_IN_THIS_CORPUS: the set the id belongs to (signed_card_index).'}, 'reason': {'type': 'string'}, 'sha256': {'type': 'string'}, 'source': {'type': 'string'}, 'surface': {}, 'card_url': {'type': ['string', 'null'], 'description': 'With NOT_IN_THIS_CORPUS: the signed card body to pass to verify_card.'}, 'not_gspc': {'type': 'boolean'}, 'unmeasured': {}, 'sig_ed25519': {}}}
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'kind': {}, 'as_of': {}, 'state': {'type': 'string', 'description': 'VALID, UNREACHABLE or UNCHECKABLE'}, 'source': {'type': 'string'}, 'not_gspc': {'type': 'boolean'}, 'card_count': {}, 'merkle_root': {'type': ['string', 'null']}}}
入力スキーマ
{'type': 'object', 'properties': {'axis': {'type': 'string', 'description': 'Only list rows whose axis matches this name (case-insensitive).'}, 'limit': {'type': 'integer', 'maximum': 150, 'minimum': 0, 'description': 'How many rows to include in the listing (newest first). Default 10. The two counts are always reported in full regardless of this limit.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'rows': {'type': ['array', 'null'], 'items': {'type': 'object', 'properties': {'ts': {}, 'axis': {'type': 'string'}, 'card': {'type': 'string'}, 'signed': {}, 'card_url': {'type': ['string', 'null'], 'description': 'The signed card body, https://councilof.ai/signed/cards/{id}.json. verify_card takes this URL or the bare card id.'}}}}, 'index': {'type': ['object', 'null']}, 'state': {'enum': ['LIVE', 'UNREACHABLE'], 'type': 'string', 'description': 'Read state of the signed card index on this call: LIVE (read now) or UNREACHABLE. Listing is not verification; verify_card checks a row.'}, 'doctrine': {'type': 'string'}, 'axis_query': {'type': 'object', 'properties': {'asked': {'type': 'string'}, 'canonical': {'type': 'string'}, 'spellings': {'type': 'array', 'items': {'type': 'string'}}, 'index_names_matched': {'type': 'array', 'items': {'type': 'string'}}}}, 'state_basis': {'type': 'string'}, 'not_a_certification': {'type': 'boolean'}, 'card_store_count_endpoint': {'type': ['object', 'null']}}}
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'diff': {}, 'kind': {}, 'as_of': {'type': ['string', 'null']}, 'state': {'type': 'string', 'description': 'VALID or UNREACHABLE'}, 'counts': {'type': ['object', 'null']}, 'source': {'type': 'string'}, 'partial': {'type': 'boolean', 'description': 'true whenever the enumeration did not complete â\x80\x94 a cap-limited read is partial'}, 'headline': {'type': ['string', 'null']}, 'enumeration': {'type': ['object', 'null']}, 'partial_reason': {'type': ['string', 'null']}}}
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'state': {'enum': ['PUBLISHED', 'NOT_PUBLISHED', 'UNREACHABLE', 'UNCHECKABLE'], 'type': 'string'}, 'reason': {'type': 'string'}, 'anchors': {'type': 'object'}, 'batches': {'type': 'array', 'items': {'type': 'object'}}, 'version': {'type': 'string'}, 'doctrine': {'type': 'string', 'const': 'measurement, not endorsement'}, 'n_batches': {'type': 'integer'}, 'signature': {'type': 'object'}, 'index_root': {'type': ['string', 'null']}, 'n_capsules_total': {'type': ['integer', 'null']}}}
入力スキーマ
{'type': 'object', 'required': ['from'], 'properties': {'to': {'type': 'string', 'description': 'Window end, ISO-8601. Defaults to now.'}, 'from': {'type': 'string', 'description': 'Window start, ISO-8601. Required.'}, 'preview': {'type': 'boolean', 'description': 'true = free: count, span, roots and batch sha256 without the leaves.'}, 'x_payment': {'type': 'string', 'description': 'The X-PAYMENT header value signed against accepts[] from the previous 402. Omit to receive the challenge.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['status'], 'properties': {'tool': {'type': 'string'}, 'route': {'type': 'string'}, 'status': {'type': 'string', 'description': 'PAYMENT_REQUIRED, DELIVERED, NOT_DEPLOYED, UNREACHABLE, UNREADABLE_RESPONSE, BAD_ARGUMENTS or HTTP_<code>'}, 'accepts': {'type': 'array'}, 'resource': {'type': 'object'}, 'deliverable': {}, 'http_status': {'type': 'integer'}, 'x402Version': {'type': 'integer'}, 'delivery_state': {'type': 'string'}, 'settlement_state': {'type': 'string'}, 'payment_presented': {'type': 'boolean'}, 'not_a_certification': {'type': 'boolean'}}, 'description': "The wrapper's status fields. On PAYMENT_REQUIRED (isError:true) the route's x402 PaymentRequired object (x402Version, resource, accepts, extensions) is spread at the top level too, per the x402 MCP transport."}
入力スキーマ
{'type': 'object', 'properties': {'mode': {'enum': ['decide', 'execute'], 'type': 'string', 'description': 'decide (default). execute is not enabled and answers NOT_ENABLED.'}, 'task': {'type': 'string', 'maxLength': 20000, 'description': 'The task. Hashed (sha256) and never stored or echoed.'}, 'policy': {'type': 'object', 'properties': {'presets': {'type': 'array', 'items': {'type': 'string'}}, 'allow_kinds': {'type': 'array', 'items': {'type': 'string'}}, 'caller_wallet': {'type': 'boolean'}, 'forbid_providers': {'type': 'array', 'items': {'type': 'string'}}, 'confirm_destructive': {'type': 'boolean'}}, 'description': 'presets [read-only, local-only, eu-only, no-unmeasured], forbid_providers [..], allow_kinds [..], confirm_destructive, caller_wallet. Unknown keys grant nothing.'}, 'objective': {'type': 'object', 'properties': {'weights': {'type': 'object', 'properties': {'cost': {'type': 'number'}, 'latency': {'type': 'number'}, 'quality': {'type': 'number'}}}, 'tie_break': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}], 'description': 'cheapest_declared, local_first, lexical_id (default in that order)'}, 'quality_axis': {'type': 'string', 'description': 'A board axis id, e.g. governance'}}}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'kind'], 'properties': {'id': {'type': 'string'}, 'kind': {'enum': ['model', 'mcp_tool', 'a2a_agent', 'x402_resource', 'local_gpu'], 'type': 'string'}, 'paid': {'type': 'boolean'}, 'model': {'type': 'string'}, 'region': {'type': 'string'}, 'endpoint': {'type': 'string', 'description': 'https://public-host/... or local:<name> for an endpoint you run'}, 'provider': {'type': 'string'}, 'read_only': {'type': 'boolean'}, 'destructive': {'type': 'boolean'}, 'cost_declared': {'type': 'number', 'minimum': 0}, 'data_class_allowed': {'type': 'array', 'items': {'enum': ['public', 'internal', 'confidential', 'pii'], 'type': 'string'}}, 'latency_declared_ms': {'type': 'number', 'minimum': 0}}}, 'maxItems': 32, 'description': 'Omit to route among the GSPC MCP tools. A candidate field the router does not know makes that candidate UNCHECKABLE (never permitted); sponsor/bid/placement fields are ignored.'}, 'data_class': {'enum': ['public', 'internal', 'confidential', 'pii'], 'type': 'string', 'description': 'Default public. A non-public class is routed only to candidates that declare it in data_class_allowed.'}, 'needs_write': {'type': 'boolean'}, 'task_sha256': {'type': 'string', 'pattern': '^[0-9a-fA-F]{64}$', 'description': 'Alternative to task: its sha256.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'mode': {'type': 'string'}, 'note': {'type': 'string'}, 'label': {'type': ['string', 'null']}, 'state': {'enum': ['ROUTED', 'NO_PERMITTED_CANDIDATE', 'BAD_ARGUMENTS', 'NOT_ENABLED'], 'type': 'string'}, 'chosen': {'type': ['object', 'null']}, 'errors': {'type': 'array'}, 'record': {'type': 'object'}, 'signed': {'type': 'boolean'}, 'preview': {'type': 'boolean'}, 'forbidden': {'type': 'array'}, 'permitted': {'type': 'integer'}, 'considered': {'type': 'integer'}, 'separation': {'type': 'string'}, 'http_status': {'type': 'integer'}}}
入力スキーマ
{'type': 'object', 'required': ['asset'], 'properties': {'asset': {'type': 'string', 'description': 'Symbol (as listed by https://councilof.ai/api/xrpl) or issuer r-address.'}, 'preview': {'type': 'boolean', 'description': 'true = free unsigned state.'}, 'x_payment': {'type': 'string', 'description': 'The X-PAYMENT header value signed against accepts[] from the previous 402. Omit to receive the challenge.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['status'], 'properties': {'tool': {'type': 'string'}, 'route': {'type': 'string'}, 'status': {'type': 'string', 'description': 'PAYMENT_REQUIRED, DELIVERED, NOT_DEPLOYED, UNREACHABLE, UNREADABLE_RESPONSE, BAD_ARGUMENTS or HTTP_<code>'}, 'accepts': {'type': 'array'}, 'resource': {'type': 'object'}, 'deliverable': {}, 'http_status': {'type': 'integer'}, 'x402Version': {'type': 'integer'}, 'delivery_state': {'type': 'string'}, 'settlement_state': {'type': 'string'}, 'payment_presented': {'type': 'boolean'}, 'not_a_certification': {'type': 'boolean'}}, 'description': "The wrapper's status fields. On PAYMENT_REQUIRED (isError:true) the route's x402 PaymentRequired object (x402Version, resource, accepts, extensions) is spread at the top level too, per the x402 MCP transport."}
入力スキーマ
{'type': 'object', 'required': ['endpoint_url'], 'properties': {'endpoint_url': {'type': 'string', 'description': 'The endpoint URL, e.g. https://example.com/mcp or an agent-card URL.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'state': {'enum': ['MEASURED', 'NOT_MEASURED', 'NOT_PUBLISHED', 'UNREACHABLE', 'UNCHECKABLE'], 'type': 'string'}, 'reason': {'type': 'string'}, 'capsules': {'type': 'array', 'items': {'type': 'object'}}, 'doctrine': {'type': 'string', 'const': 'measurement, not endorsement'}, 'endpoint': {'type': ['string', 'null']}, 'n_capsules': {'type': 'integer'}}}
入力スキーマ
{'type': 'object', 'required': ['capsule_json'], 'properties': {'capsule_json': {'type': ['string', 'object'], 'description': 'The capsule: its JSON text (preferred, byte-exact) or the parsed object.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'batch': {'type': 'object'}, 'state': {'enum': ['INCLUDED', 'NOT_INCLUDED', 'ID_MISMATCH', 'UNCHECKABLE', 'NOT_PUBLISHED', 'UNREACHABLE'], 'type': 'string'}, 'reason': {'type': 'string'}, 'doctrine': {'type': 'string', 'const': 'measurement, not endorsement'}, 'inclusion': {'type': 'object'}, 'capsule_id': {'type': 'object'}, 'index_signature': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'required': ['card'], 'properties': {'card': {'anyOf': [{'type': 'object'}, {'type': 'string'}], 'description': 'The signed card: an object, a JSON string, a councilof.ai / csoai.org URL to one, or a 64-hex card id (resolved to https://councilof.ai/signed/cards/{id}.json).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'id': {'type': ['string', 'null']}, 'note': {'type': 'string'}, 'rule': {'type': 'string'}, 'state': {'type': 'string', 'description': 'VALID, INVALID or UNCHECKABLE'}, 'checks': {'type': 'array', 'items': {'type': 'object', 'properties': {'ok': {'type': ['boolean', 'null'], 'description': 'true = passed, false = failed, null = not applicable or not run (detail says UNCHECKED)'}, 'code': {'type': 'string'}, 'check': {'type': 'string'}, 'detail': {'type': 'string'}, 'advisory': {'type': 'boolean', 'description': 'true = reported but never decides the verdict (the live did.json cross-check)'}}}}, 'family': {'type': ['string', 'null']}, 'reason': {'type': ['string', 'null']}, 'reasons': {'type': 'array', 'items': {'type': 'string'}}, 'pinned_key': {'type': ['string', 'null']}, 'resolved_from': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}}, 'description': 'Present when a 64-hex card id was passed: the id asked about and the URL fetched for it.'}, 'not_a_certification': {'type': 'boolean'}}}
入力スキーマ
{'type': 'object', 'required': ['sha256'], 'properties': {'sha256': {'type': 'string', 'description': '64-char hex digest to test for inclusion.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'state': {'type': 'string', 'description': 'VALID, INVALID or UNCHECKABLE'}, 'reason': {}, 'sha256': {'type': 'string'}, 'merkle_root': {'type': ['string', 'null']}}}
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'kind': {}, 'as_of': {'type': ['string', 'null']}, 'state': {'type': 'string', 'description': 'VALID or UNREACHABLE'}, 'counts': {'type': ['object', 'null']}, 'source': {'type': 'string'}, 'headline': {'type': ['string', 'null']}}}
最近のツール変更
類似のMCPサーバー
DB Query Guard MCP
Supports governed database query review, SQL simulation, approvals, and audit trails.
Crypto Bot Audit + Market Data (x402 paid)
Audits crypto bot source code and provides paid crypto market, token, gas, stablecoin, and DeFi TVL data.
TunnelMind Data API
Aggregates web, routing, supply-chain, tracker, threat, and agent-registry intelligence into risk verdicts, evidence, receipts, a…
Govparse Government Data Gateway
Searches and aggregates US government records for company research, compliance screening, regulated industries, enforcement event…
Polyform
Offers pay-per-call APIs for economic, financial, geographic, healthcare, domain, email, sanctions, blockchain, and business risk…
Dados Abertos Senado BR MCP
Searches and retrieves Brazilian Federal Senate legislative, administrative, budgetary, contracting, speech, committee, and e-Cid…
HubVibe: Pay-per-Call Tools for AI Agents: Web Search, Email Verify, KYC, Stocks, Crypto, News, Data
Offers paid utilities for web audits, HTTP fetching and extraction, BigQuery analysis, LLM processing, code execution, blockchain…
Medicare Coverage
Provides structured Medicare coverage documents, policy timelines, utilization, enrollment, supplier, and payment-related data fr…