{
  "name": "Trulioo Regulatory Research",
  "description": "Trulioo's regulatory intelligence agent - ingests and screens regulatory sources (Federal Register, eCFR, OFAC) and answers regulatory-research questions on a user's behalf.",
  "supported_interfaces": [
    {
      "url": "https://agents.trulioo.com/trip/a2a/v1",
      "protocol_binding": "JSONRPC",
      "protocol_version": "1.0"
    }
  ],
  "version": "1.0.0",
  "capabilities": {
    "extensions": [
      {
        "uri": "https://identity.trulioo.com/a2a/kya/v1",
        "description": "Trulioo Know Your Agent (KYA) - signed, transparency-log-anchored agent identity + verified operator.",
        "required": false,
        "params": {
          "attestation": "eyJhbGciOiJFZERTQSIsImtpZCI6InRydWxpb28tYXR0ZXN0YXRpb24tMSIsInR5cCI6Imt5YS1hdHRlc3RhdGlvbitqd3QifQ.eyJpc3MiOiJodHRwczovL2lkZW50aXR5LnRydWxpb28uY29tIiwic3ViIjoiNWI0Y2VkMDM5ODkwY2M5ZDQ2MTcwNmFiZTBlZmQwZWIzMjIzOWM5OTIwZjk0ZDg1N2JmMzI0ODM5ZmU1MGQ5YiIsImlhdCI6MTc4ODEwNzY4NywiZXhwIjoxNzk1ODgzNjg2LCJyYWlsIjoiYTJhIiwidmVyaWZpZWQiOnRydWUsInZlcmlmaWVkX2FzX29mIjoiMjAyNi0wOC0zMFQxNjozNDo0Ny43NDI1MDUzODNaIiwiYWxsb3dlZF9zY29wZXMiOlsicmVndWxhdG9yeS5yZXNlYXJjaCIsInJlZ3VsYXRvcnkuc2NyZWVuIl0sImlzc3VlciI6Imh0dHBzOi8vaWRlbnRpdHkudHJ1bGlvby5jb20iLCJmaW5nZXJwcmludCI6IjViNGNlZDAzOTg5MGNjOWQ0NjE3MDZhYmUwZWZkMGViMzIyMzljOTkyMGY5NGQ4NTdiZjMyNDgzOWZlNTBkOWIiLCJhZ2VudF9pZCI6ImFndF8wMW0weGs1NGNrdnBwMHd5cWNlYTQ0ZXhjZCIsImJ1aWxkX2lkIjoiYmxkXzAxbTE5cmMxcGp5Z203Z2ticGcxNWcybWcyIiwicHJvZ3JhbW1lIjp7InByb2dyYW1tZSI6Imt5YiIsInZlcmlmaWVkX2FzX29mIjoiMjAyNi0wOC0xOVQxNTowMzozNS4xMDIzNzUyNDhaIn0sIm1hbmRhdGVfaWQiOiJtbmRfMDFtMTlyYzFxZWJjcmZtc3k1ZnFzaHExczMiLCJjcmVkZW50aWFsX3N0YXR1cyI6eyJpZCI6Imh0dHBzOi8vaWRlbnRpdHkudHJ1bGlvby5jb20va3lhL3N0YXR1cy9saXN0LzEjODc3MDUiLCJ0eXBlIjoiQml0c3RyaW5nU3RhdHVzTGlzdEVudHJ5Iiwic3RhdHVzUHVycG9zZSI6InJldm9jYXRpb24iLCJzdGF0dXNMaXN0SW5kZXgiOiI4NzcwNSIsInN0YXR1c0xpc3RDcmVkZW50aWFsIjoiaHR0cHM6Ly9pZGVudGl0eS50cnVsaW9vLmNvbS9reWEvc3RhdHVzL2xpc3QvMSJ9LCJjb2RlX2RpZ2VzdCI6InNoYTI1Njo2ZTc3NTdkMTBkNjY2NzhjYmMzN2VmOWZiMjYyOTY5NGVhMGYzYjNjYzNjMDhkYmY3NTU4OGVlYmVmZjhmMjBmIn0.SqvqvCBtLV051GV5wmWQSEnLALFrb4nk0GjdEt9hZMHytw0YaYu8mxIFXz5vjpax4azuynkaNkuk7rne-QnKDw",
          "display": {
            "verified": true,
            "verified_as_of": "2026-08-30T16:34:47.742505383Z",
            "allowed_scopes": [
              "regulatory.research",
              "regulatory.screen"
            ],
            "issuer": "https://identity.trulioo.com",
            "fingerprint": "5b4ced039890cc9d461706abe0efd0eb32239c9920f94d857bf324839fe50d9b",
            "agent_id": "agt_01m0xk54ckvpp0wyqcea44excd",
            "build_id": "bld_01m19rc1pjygm7gkbpg15g2mg2",
            "code_digest": "sha256:6e7757d10d66678cbc37ef9fb2629694ea0f3b3cc3c08dbf75588eebeff8f20f"
          },
          "fingerprint": "5b4ced039890cc9d461706abe0efd0eb32239c9920f94d857bf324839fe50d9b",
          "attestation_url": "https://identity.trulioo.com/kya/attestation/5b4ced039890cc9d461706abe0efd0eb32239c9920f94d857bf324839fe50d9b"
        }
      }
    ]
  },
  "default_input_modes": [
    "text/plain",
    "application/json"
  ],
  "default_output_modes": [
    "text/plain",
    "application/json"
  ],
  "skills": [
    {
      "id": "search-system",
      "name": "Answer a regulatory question",
      "description": "Answer a factual regulatory question from the ingested system of record, naming the records the answer came from.",
      "tags": [
        "regulatory",
        "research"
      ]
    },
    {
      "id": "screen-publication",
      "name": "Classify a publication",
      "description": "Classify whether a published rule or notice applies, by document number, and explain the relevance decision.",
      "tags": [
        "regulatory",
        "screening"
      ]
    },
    {
      "id": "suggest-assignment",
      "name": "Propose an inventory assignment",
      "description": "Propose which existing inventory record a publication best fits, as a suggestion for a reviewer.",
      "tags": [
        "regulatory",
        "triage"
      ]
    },
    {
      "id": "generate-report",
      "name": "Draft a signal report",
      "description": "Draft a signal report over publications for a topic or report type, for a reviewer to check before use.",
      "tags": [
        "regulatory",
        "reporting"
      ]
    }
  ],
  "code_digest": "sha256:6e7757d10d66678cbc37ef9fb2629694ea0f3b3cc3c08dbf75588eebeff8f20f",
  "_note": "KYA identity is anchored at the issuer (identity.trulioo.com). params carries the issuer-signed attestation (compact JWS, typ=kya-attestation+jwt, alg=EdDSA - the AUTHORITATIVE claim a verifier checks against the issuer JWKS) plus a non-authoritative display mirror for rendering. The live attestation is re-minted on rotation and refreshed at https://identity.trulioo.com/kya/attestation/5b4ced039890cc9d461706abe0efd0eb32239c9920f94d857bf324839fe50d9b - the issuer, not this card, is the source of truth. agent_key is the agent's own public key (OKP/Ed25519): its RFC 7638 thumbprint is the FIRST input to the fingerprint, so a verifier can recompute this card's fingerprint offline as hex(sha256(\"trulioo-agent-fp:v3\" || 0x00 || jwk_thumbprint(agent_key) || 0x00 || jcs({name, interface}))) - interface being the first supported_interfaces url. v3 drops code_digest from the identity core so this fingerprint survives a release; code_digest stays a signed claim in the attestation above, and the v2 digest (same inputs plus code_digest, under domain \"trulioo-agent-fp:v2\") is retained as the BUILD discriminator. Cards published before the v3 cutover advertise that v2 construction and remain valid - a verifier that forgets v2 reads them as forgeries. That check proves the card is internally consistent; the issuer still says whether the identity is currently verified and unrevoked.",
  "agent_key": {
    "alg": "EdDSA",
    "crv": "Ed25519",
    "kid": "seed-trulioo-regulatory-research",
    "kty": "OKP",
    "x": "DkiZcKIrMBYZ1JyDqdQ33r8rvQEJ8qVWBB6c2ZvzVZc"
  }
}
