{
  "_comment": "SCLink v1 test vectors (Vault: Remote BBS Door Design 2026-10). The key is the ASCII TEXT of the 64-hex secret. signedString is the exact bytes signed; mac is lowercase hex. Every client checks itself against these; SCLinkProtocol.test.js pins the server to them.",
  "vectors": [
    {
      "name": "all optional fields empty (absent == empty)",
      "secret": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
      "fields": {
        "alg": "sha256",
        "board": "DMB",
        "user": "1234",
        "challenge": "00112233445566778899aabbccddeeff",
        "rows": "",
        "cols": "",
        "term": "",
        "caller": ""
      },
      "signedString": "SCLINK1\nsha256\nDMB\n1234\n00112233445566778899aabbccddeeff\n\n\n\n\nEND",
      "mac": "f33b142e92a2f05c5dea0a5c8e47c1783d9c9a8a86af5172946298949d668a9d"
    },
    {
      "name": "every field present, IPv4 caller",
      "secret": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
      "fields": {
        "alg": "sha256",
        "board": "DMB",
        "user": "1234",
        "challenge": "00112233445566778899aabbccddeeff",
        "rows": "25",
        "cols": "80",
        "term": "ansi",
        "caller": "203.0.113.9"
      },
      "signedString": "SCLINK1\nsha256\nDMB\n1234\n00112233445566778899aabbccddeeff\n25\n80\nansi\n203.0.113.9\nEND",
      "mac": "52d3c0eb50ef0be64ee2031faf83cc8d6615b8392c938cb0401e023ac2594a4e"
    },
    {
      "name": "IPv6 caller",
      "secret": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
      "fields": {
        "alg": "sha256",
        "board": "ZZZ",
        "user": "7",
        "challenge": "00112233445566778899aabbccddeeff",
        "rows": "24",
        "cols": "132",
        "term": "ansi-bbs",
        "caller": "2001:db8::9"
      },
      "signedString": "SCLINK1\nsha256\nZZZ\n7\n00112233445566778899aabbccddeeff\n24\n132\nansi-bbs\n2001:db8::9\nEND",
      "mac": "a4847b5aae313a159ad0bf9bd9973a67f8c6b8692658c13311c4fb6eda06e923"
    },
    {
      "name": "the sha1 loosening, all optional fields empty",
      "secret": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
      "fields": {
        "alg": "sha1",
        "board": "DMB",
        "user": "1234",
        "challenge": "00112233445566778899aabbccddeeff",
        "rows": "",
        "cols": "",
        "term": "",
        "caller": ""
      },
      "signedString": "SCLINK1\nsha1\nDMB\n1234\n00112233445566778899aabbccddeeff\n\n\n\n\nEND",
      "mac": "38ec39f1b2cbda2ff62dd7599db074fccc3a195e"
    }
  ]
}
