{
  "$comment": "Canonical KXCO platform post-quantum public key. Pin the kid to verify the platform identity. See https://chain.kxco.ai/developers/sdk for the verification flow.",
  "version": 1,
  "issuer": "KXCO by Knightsbridge Group",
  "issuerUrl": "https://kxco.ai",
  "algorithm": "ML-DSA-87",
  "spec": "NIST FIPS 204",
  "specUrl": "https://csrc.nist.gov/pubs/fips/204/final",
  "securityLevel": "NIST Category 5",
  "kid": "1fd9ed3b769c28fc",
  "kidFormat": "first 8 bytes of SHA-256(publicKey), hex-encoded (16 hex chars)",
  "publicKey": "b806a2930ff672e87e071aa341f6107853fc1bbad1987548c2c4fb18b62c916974e8f0cef706703b41aaaa18760fccfbf8d9b853d22de41b8c8b5a7a69cb7797ceb9d23b67261176f5b569acaa8757c0f1bec45c8491b2c5530c71ca4eab9a0bc1573799ddb5cee81dfc3d24b0c5b968d20b8f271c516a960d427e99a15049b9df9bbd179944910679aebfc8eff014c79ee564a3e3660ccf624a5445cc4e223c3f62e19d9a2104635748c092c1c1bc63501bbcce9544a7d21cfbdcae67beb64ed67441898f7301f7e86ff36115e23259f2b6f81aa29944cf04ce49d4e4911b2162eb58914521d4baae42f1e5c0c23b82df8a809411cbc1da10ee3f483d5d11436bf0992c94f04046bdd97a362e0e278a7b341741b88e0ffbe45a9ca4db1a4c2eba611467763fc2a46e37328768312205b8a50eceb4f2f94f458505bef6481b13cbc118f4d3c126d9306976c73bbfab0785d78a71278dc1ef192fc7ac0845c94001a87c867e8f573acf051f9c0e844e65cfd86bdc3aad3be46fa5ee0dbebd9bd34cf12620bdbd8fffa4aa5ad7836dbd7db9f1006aaeeb335ed57d326d4f5a1d78cc3284780c22532b16bb5dc5edc147d5a547ab30c82773b6c7aebc522802cf310f5e4d5d05db109a5fc345d30defeffb4e454beac3c2aed3cb680d45c0bebafae1cf02a46197b5ab392e54ed0e148b45cafd6781e83899df4cdc036fb4c7a69bf9ac54567527bc9dee8b3276328b9918f87544e7031169805bed675d24991f42c005aa178c05f08911d9a9fd27a6609219df53d0fbe22a23c86d67c2574ba700a17bf3153f73bfa833ef0b9055b9d9c2de0139c8dff2ead830829e8514b98416e5f249b967c1634875a314485c9ea7133ec42670e8564417e630ca47af73c03c6acba503a5155039eb75487d37b200568386bc6d57e6c2f19cf8963c51c26778a0169644a9b008f9f4b31fd844f87af2e9dc3f1c627beefc2715ba7e705ea9834b53d08392dc2ec597c365c665643ae6431758a743c8900774b2f8cc4273d8844845370fcb5279416c24d51ee25cd41ef989498f2add531d1bd4de69599443e4d241bf615df90c59aa4ff967d6883c78dfa6e609a436b78a14593390c1a902024003e6e15c00b0ced8c007ce130e3c5f6c8c17b1e69a1b364e69f0947ba06966dbd5899e043db63423f4fd6ed35bc7493aa321f9a7745ac8df2e508a32f4c14723170a8a35968eab3a51528d2d2b9ff84995760dd0918498802d3661cb0939c26ac35c7f1301105dffc10801050c5e4f9c7132f2ca3d5feeecde436802f227478213c018cb9444ba8cd43ac2a060849c31a91d7df43fb3beab9153f8f5b22d761db0661aa5068216b8cc32daa2a4a64430da0fedaf0d6294f25dad2c0c8b669120f3f3be749fc001ec6a7a47dc26c595a0b5275a6619659c3466228e9ef9a74f6ac0fb462d01f13f948fb6f6e4083d599c5199be716464e6a0ee7d60c75c738aef1348c9f62978587eac12768a826e56274d2a30ee6f65f77f3fe035dc8a4b53596a0bba6a84f276e27dca91d88d35e823d85f3d06ac79d1c4920a6ad1de0b37a51b91c8d136a88d4367828149fb91902c2e8d8ad779c80ff8251ba59b2e22b17d0e73a85914f084a4af76488d4d5d058b0b8c2092b217528dc0ce042febfefeaa5b01ee8fccf6283a70500ab2da598f5a1297c0618238aa373a691f3d5240f0997687908d4b22fa2b1e54f11196a63347e193705a7adebf8f2965f7f1362097ad93ea76348c0e645e3e321f73b74c7282850e27f25aa12dba9c9699d46a5219435191be123c81a23018d744471c34d79cb14e1f3fe33cb188a2e65fc473a34872c66db2fd42fb7ab473fb58680a699e1329c0fa0bff014e0ed476d3b4fdcec62e81ed0d6062f5569aa355853aaf15cdee53f2151d4819d67a979114ce04a086cf53ce4ba91dfc256a9ee2b5cf565e77163798e0480b6eb7915a174cc5fd48f601571b4f629198f1cf829837d3165464109a06b3f54b42e11575a22f12ef2001c7ac04dcd3d66c5c249b1954a92fdce6d83d1216f77630f5bb6e5e45e76321a9053d0722202955df56475932c1f7b534795f6ac84ec1efb5d8c3524aff419f8bbe7603c9470a9207c51ecc49f76c07ee63a2eacde86ad9616bd50c8fe213148bcefded4373effa3d10b61e461550c3ec10cbbefc6eb5582809aa5e6e6e928844fa78b38c8c3a686b379429102317c6773e409cec41fd786ad75630daefdd87059f478950b033821415802133265dad4ea7ae2be874f4e19bea99d6ed9b3e943c91cba94d8b9bba6f9657c36790cffd14cfa731a53c4a0a862edf52463f71395224e1942446afa69694fedfa1dcd0f8d5a46c5d757ec29859c16580a1176b3487921a86c4533eb6f8f45d78483228ad49c5500aad75be885094e33a569b020a251de31168d8fa91170624805411d3f46d2547caf25a3af7971bc4dc8227e80ec65c8ad93e2f734bf61631d4578cf13fba99495547dc3e9a5322efc03c19722a38772dba3788b7868c20e929b21a27d416598905efff92fd9ef9feedc04ffc014365102805488c9c6fb05b076ede799e4ce306255eeac83cdd850ef517b1021f141bb2e160942c13dec54baa5216fda14d9f50891e88b8c5ce1dc1261f66082e72e313f26f87ca567ffedeb10698dcf38e9f926628cb39a76ed3b0290ccbf0b7e6f67dbb8dbeeab524964b6935ec6631f7df238308189a3d43bcefcb87e52d7daf56629f8e377a774b182827ba769a7d88c1f05fb2a222ada8ad6ff02b5f6bc7c379ce3b7c0007fbe4fb267d7cfa26a3d072def3a22efdbe59af74bf7cb9a2810ad64e1490d526621dcd26b3776762b8aae9c4e925caa0ff12f5717f542ce87498966662679e3451a6e75c6c12398207ebd9d033c2f67d67268d0239ebdc720ae05a199994795ce7a7151bd96ea7e18222afcc213211f6e8b0f81d2ec8a3fc9ca2a4fff5d3f2fd26b097a8344081326b5d2483bb3916485a47761fbe077937ee7c7e05c0554f6b9a123c1c52d446abde3d24bb677153eabce71c50d983dacc2dcdff4f66359b8be6992926a2266d947797847a840858815d494529fee301633e7084b7cc64c03ec1bd3f8b0b45ac7e8df115ade6dcc27c2cf51ae62487b14c81e2bfc50d5473d2a9ea06c38c3b8bdfb200d29158076eec31e6534e5d999d8880b1bd01211667695354e4230639b51f839c030345a811319f0aa6f926f4513a486d040c8e02ab3d9082acb93175ae3297ed2b2f23d7f135b7706b0a385a16c446f41bf97318035ecef391c4b08077466a6edfa899b09baf75675af14ea03b33e4d854b81d89aa9743d5011eb37ee7fd07cfa21ba847c1768a3708fafdc3c8f0ceffaa89c7bc5663cc65e38b1c0dddf1c55b982b913f8a28d6196114e7353767d9e1a19bba0c7be515c53e7da2d05d18ec385db765aa5d87e1d11ad6f057179edd2a4ffef222d15bc187759f7bb57684819fcf98417a94dafb90dc446e7f032fb2b17d5141482fcb470eed0bc632a291055d1c1efa18a9320c8bb3c76df72eca085b60ad801b9b5bab1d31893ce3fb9d5e668a6d642e177f90cb37aedf0d8f1a9c7826228aa8004f1b9b0a3cdc42889d15098826269d110b58054cb2d9a1591daaf5",
  "publicKeyFormat": "hex",
  "publicKeyByteLength": 2592,
  "endpoints": {
    "verifyApi": "https://chain.kxco.ai/wallet/api/verify-demo",
    "verifyUI": "https://chain.kxco.ai/wallet/verify",
    "sdkDocs": "https://chain.kxco.ai/developers/sdk",
    "npm": "https://www.npmjs.com/package/kxco-post-quantum",
    "repo": "https://github.com/KnightsbridgeAIQ/kxco-post-quantum"
  },
  "rotation": {
    "policy": "Scheduled rotation at most quarterly. Emergency rotation on suspected compromise. Previous kids retained for verification of historical signatures.",
    "nextScheduled": null,
    "previousKids": [
      {
        "kid": "aa29f37ab7f4b2cf",
        "algorithm": "ML-DSA-65",
        "securityLevel": "NIST Category 3",
        "publicKey": "648b1e9b142ce625697fcd4d906f2ff0a76560c742e13418735ce9e8c484942fa4a6123490ee79aaabf157790e313506ecd580eb7a0253596bb51095923b5ca9afc82a1f1080dbbbe8b59cf4fe7bde680072e04ad5bf8db97e8b827698f0e35c622037fd617184695120c8379f1f4fec522fdbfb7bcafe0b875703b0726223486e8ce1050e761774045244824f9e61ae55b5a300fb588b9bad522721650cc0b67b489d93a996d023c154414a45f1d726cce5691b66ee348b5e9a3cb1cc38538100bed98508d77e3c8d18f668c40405631d846019c4de91a6c241cab69c041935a2fe121f698e145953498dce7a5cd42ee86abfacb6b5d6c59dc9826a798314d71e0b64c498a05e009da70a58fc377706e6ddf5c478d9e226829bd3c26290b2a81d75ff5916c6219282f75bcef838d22779c5bdbc37e0a99cd4132c3a51538308b54f60b832272ac515681d298367bf47dd8bad7770492550fe6c0c3dcea85101403fb10410cef81a0d3c94823a9326b7e3d703ebefd8215991c7d82a04d7f324dd0b0774a16f5f1a4137b3ceb3b7b49274e56dec0dd6af0ef5c44722e586142b393fdbb8b37bb0d3f65f474bc1e625d4533c23c7a54bb919a9fe81ac2fb9e09f255c406d0a00d55b185877408024ef1cff6b47778d68eb41db17ab39aa2f6d1bc48c1bce97fcc98ddf1e3811a6e847df33503dc0f726154fcf802aa375307a3d426adec3972f25534e81189ab741a6af95526e1fec0a26feb1a25e6a77d3f99e9e08525d4268eb1ea784c430698822be065c646e4f026f92b6f549eb822abb0b6e069da5d4b5d74bcb55b1e33ec88de47370cd61c6901d0689952c0892d764b026b24615bd397e5f0883c3af662f150fd8f82cc20b396aa7cf71914cb3b07481bef6ea14fdb151b722f029e51eace5b56abcffae96777a5da77c7907c903a7fc78110565d5b1b8814cb3cdb13d263b0842509323e11848c42bf40d82968c5b54b1db360846274f46c7be431f12530b50af5a3ace921e43443237ead3e2ea130408be29a465f42ac6d8ee4a8d612692d6626ad35fd1615437ecb0ee7c492b32c0f985a58d4c83860d4793d2c2067d8557fe7aed0edff71098a3b5e1d0f6d277442eac8c2bf9e9cb200fbc70956770661fc150c41345f192f93aaee2417b522a501145468db961fb152416fbac48a38233195ddc9ac971cd03b16059231ca5a3569d822ae79ccdd29c41db7e7420f6d4c33ceb516387d22492315c95980ba7b283fd1a488f6f6f3f63391db527da75004ab465134a7ad0fcbf703170f4b3eb2a883b3c09fb6efd25e7e051eb37ed2feca96d1fcc1bbbe43c1a535c117c27f72f8cbf30e22e870a2dc2dd1e3561a3413c1e3621c274016f9ae0dad619b6ce973f037f5d3cda0e9f242aa3ce9ebcf8d64d7c6e493dc02916ff870159321562032bd7df165470c3cdd9292319a7fdf9c327e6a3767b9b5e841b50322fd2e8f220a2bbba4d9f916e00666bf183592d783f0c648ab2d89d5d3df830b8f5140a4cd8108451612d7d9f2b57c61612ab79816966dfe9baa6974c91b93c74b096b9cc3d490756c3bef6c029962a14aa314ad2b1431ef61269a151bc25042f8e222d40650b6f181f20b6d268c467fe3df92ac21fe62720b69427b8e1b0257990937e9e5cb8da57a111eb432ee024238232f61e06cb64a55237258c861c5e6467f033516212d196fb4c05ca826608ca6afed3635ead33191caa0aca88f5fff2fd526a0277496e04f532aa44ee1d3b8fdaf5fce3b2ce5127c56db216b133e1ac2cf7d4e6c25dd10be950dfa02e1b608a8eb7ea9b434e8232a2d4c969c7d18da8eeec516a29f4c2fc2a42bf3b3b2e761a691438e7c7c755f0169027933b5afacaaa7ce91660c6c30801b47f340d3fad969c25be960649c4b8ef01a60de0a66875f1593e9f9caac3866f51dae1fd8e29163a3e8c5a2b5e1027b5d681c217b20e1a776b363d5fb9d8bd005a39c1c262a0a410e9562bcefe2277350d5a20d6fee04cbfae049fe0ae79c46a247948ad6b011c4b625e50569d013eac3818d543ad37a548212699505bd0450725434beb719b4a3d694ec8b62d4caf195c3eff2a3d5a85108b5e0f06e56aa8ffbd0538700c9a2fe908ee5fe7b916a137204114010566b585756c95ad7c57c22a390054a8fffaebaa737d26b00636a9ab7a2a9d4db206fff132741605c9eeaea24ef54374d23a743784d8807e17710033e9f0f8b2cbef557753f79daf12328de93f7d150325c217824d50ddb309e4bf63dc6ae282d4eddef4f10ddc0d3cf2e63d2e8ecb153093a8c46ce6d3b75733205ac6f672751b81903ebefef255697d98198f9448c2ab58048983adc161a1d8b62db933b9a5a493695c199f784c5ccfef3067a28514fba318e5c8d3f0585ca5b61bcd327474c2c666d767fa6b8c58b8bbb8c26e012a662882e28560bf357b7d8af8c1a170d007fbb23ef6b107b4ad6e44795738bb083d33dbcab6760fdc57925042d4b464a549d64182e50dfe28f670f1bb4dd705b19ce2572bf0244f517e3e455ba973591a1a647221af71ac95c7eb1da016bb1619d8f61c2dd7ff86b9d5fc2a1f991203fcabdd05a1fd737561e2de2e0c7d569ae98ae26cc98ca9ca6211d246f15b0bb64a594b988d7c7f12a8afae285bf5023d4af9acfc0ff9531f6384a5c94f83877f6905e92d6b4ec28b93a5695f68fb63948e6dd8227df8adb04cab50a022d53e15ef6805f4317fef0d1d2418",
        "publicKeyByteLength": 1952,
        "retiredFromSigningOn": "2026-10-07"
      }
    ]
  },
  "contact": {
    "general": "john@knightsbridgelaw.com",
    "security": "john@knightsbridgelaw.com"
  },
  "attestation": {
    "X-KXCO-PQ-Kid": "Webhook header containing the kid of the signing key",
    "X-KXCO-PQ-Signature": "Webhook header containing ml-dsa-87=<sig-hex> (ml-dsa-65=<sig-hex> before 7 October 2026)",
    "X-KXCO-Signature": "Webhook header containing sha256=<hmac-hex>",
    "X-KXCO-Timestamp": "Unix timestamp (seconds). Replay window enforced server-side."
  },
  "license": "Apache-2.0"
}
