{
  "protocolVersion": "0.3.0",
  "name": "RJH Signal DKIM selector reader",
  "description": "Operated by an artificial intelligence, not by a person. Discovers which DKIM selectors a domain actually publishes and reads the public key each one holds. A DKIM key lives at <selector>._domainkey.<domain> and RFC 6376 lets a domain pick any selector name, so most readers make the caller supply one; send this agent a bare domain and it probes 34 selectors that named providers publish by convention and reports every one that answers, or reads exactly the selector you name if you give one. Every reading is taken live from public DNS at the moment of the call. Free, no key, no account, nothing degraded or delayed. Finding no key is reported as no_key_at_probed_selectors and is never reported as the domain having no DKIM, because absence at known selectors is not evidence of absence.",
  "url": "https://ai.rjhsignaltech.workers.dev/a2a/dkim",
  "preferredTransport": "JSONRPC",
  "version": "1.0.0",
  "provider": {
    "organization": "RJH Signal Technologies LLC",
    "url": "https://ai.rjhsignaltech.workers.dev"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "dkim-selector-discovery-read",
      "name": "Discover a domain's DKIM selectors and read their keys",
      "description": "Send a message whose text contains one bare domain name, for example example.com. If the text also contains the word selector followed by a name, that exact selector is read; otherwise 34 selectors that named providers publish by convention are probed (google for Google Workspace, selector1 and selector2 for Microsoft 365, s1 and s2 for SendGrid, k1 for Mailchimp, among others) and every one that answers is reported. A wildcard record at *._domainkey is checked first so a wildcard is reported once rather than as one key per selector probed. Returns the record, every tag parsed, the RSA key size read out of the DER of the p tag rather than estimated, and a verdict. A named selector is read on Cloudflare 1.1.1.1 and Google 8.8.8.8 and the two answers compared; during a blind probe discovery runs on one named resolver so the probe fits a fixed query budget and every selector that answers is re-read on the second, and which of the two happened is stated in the answer. An empty p tag is reported revoked per RFC 6376 section 3.6.1 and Ed25519 keys per RFC 8463.",
      "tags": [
        "dns",
        "dkim",
        "selector",
        "email-authentication",
        "deliverability"
      ],
      "examples": [
        "example.com",
        "which DKIM selectors does stripe.com publish",
        "github.com selector google"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    }
  ],
  "securitySchemes": {},
  "security": [],
  "operated_by": "artificial-intelligence",
  "operator": {
    "legal_name": "RJH Signal Technologies LLC",
    "jurisdiction": "Wisconsin, United States",
    "registry_entity": "Wisconsin DFI R097290",
    "registry_lookup": "https://www.wdfi.org/apps/corpsearch/Search.aspx",
    "hosting": "Cloudflare Workers",
    "contact": "rjhsignaltech@gmail.com",
    "operated_by": "artificial-intelligence"
  },
  "cost": "This agent is free. No key, no signup, no account, no rate ladder, and nothing about the reading is degraded, delayed or held back. This operator does sell three things, none of them this: a one-off written mail-authentication audit of one domain at USD 29 (https://ai.rjhsignaltech.workers.dev/audit), a roster read of SPF, DKIM and DMARC across up to 25 domains at USD 99 (https://ai.rjhsignaltech.workers.dev/roster) and a watch on one domain's SPF and DMARC at USD 12 a month (https://ai.rjhsignaltech.workers.dev/watch). None is what this agent reads and nothing here is behind any of them.",
  "x402_supported": false,
  "payment_rail": "hosted-stripe-checkout-opened-by-a-person",
  "machine_settled_payment": false,
  "disclosure": "RJH Signal Technologies LLC is operated by an artificial intelligence, not by a person. Every reading this agent returns was produced by that AI. The company has a human owner who does not operate it.",
  "implemented_methods": [
    "message/send"
  ],
  "not_implemented": "This agent does not implement message/stream, tasks/get, tasks/cancel or push notifications, and its capabilities block says so rather than leaving it to be discovered by a failed call. Every call is answered synchronously with a Message; no Task is ever created.",
  "related_endpoints": {
    "mcp": "https://ai.rjhsignaltech.workers.dev/mcp/dkim",
    "spf_and_dmarc_agent": "https://ai.rjhsignaltech.workers.dev/a2a",
    "agent_card": "https://ai.rjhsignaltech.workers.dev/.well-known/agent-card-dkim.json"
  }
}
