{
  "format": "SEALBY-W",
  "format_version": 1,
  "spec": "FORMAT-WEB-v1.md",
  "generator": "vectors-web/generate_kats.mjs (node:crypto — independent of the WebCrypto implementation)",
  "vectors": [
    {
      "id": "hello",
      "description": "Small single-data-chunk file (N = 2).",
      "key_hex": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
      "key_string": "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh9jDc0",
      "salt_hex": "a1b2c3d4",
      "name": "hello.txt",
      "type": "text/plain",
      "plaintext_hex": "48656c6c6f2c205365616c6279210a",
      "blob_hex": "5345414c42592d570101a1b2c3d4000000000042f9215b89f1fbe13e29e3b6c2b174667e7be6a3baea629ce24a395eb36c2211acf552fa79da8d1bc588b195ff9713c4afad27133b36908d1d3f8a64b02d431f90f37a0000001f174a2d06d6b20ddf2fd139467eaffb0b1315789c98e63be836762740c961c3"
    },
    {
      "id": "empty",
      "description": "Zero-byte file: manifest only (N = 1), zero seal salt.",
      "key_hex": "fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0",
      "key_string": "__79_Pv6-fj39vX08_Lx8O_u7ezr6uno5-bl5OPi4eAYZcA",
      "salt_hex": "00000000",
      "name": "empty.bin",
      "type": "application/octet-stream",
      "plaintext_hex": "",
      "blob_hex": "5345414c42592d5701010000000000000000004febb89db63501e12217178ae8a31b1d030a4ea0e91ebb58222623d09347db3a63e07346fa1335db7f9f58a1ff67048f46b5215a28f48f38652c498e4cb5d6fcaed5ee72b1c53d22bfc27227e1908f89"
    },
    {
      "id": "unicode-name",
      "description": "Non-ASCII filename — locks the manifest UTF-8/JSON escaping.",
      "key_hex": "030a11181f262d343b424950575e656c737a81888f969da4abb2b9c0c7ced5dc",
      "key_string": "AwoRGB8mLTQ7QklQV15lbHN6gYiPlp2kq7K5wMfO1dyrX4s",
      "salt_hex": "deadbeef",
      "name": "秘密 récap №1.pdf",
      "type": "application/pdf",
      "plaintext": {
        "derive": "sha256-stream",
        "seed": "SEALBY-WEB-KAT-UNI",
        "length": 100
      },
      "blob_hex": "5345414c42592d570101deadbeef0000000000552b28b72e706ab173cedc057bd1a4bf71c180748d7e34402bf049bd29d9e529fa1b85b6140f673bac927c88fd61ec06bbc276a12bfd5220d633e8e7f7a055a158861f646ceaa62d81ca0d1086a70e94665c3f3e9303000000740191c5ac6a6542affe7d99959788d9c70afb754adabce0b188bd52a74f240829241905c562152ac457e0bd36e45f6b3c158bbc892adaad1a391c75994c44ad58ccc2d662d966c3c56950aac48e383f5603c39edf75c33091b51bacdf1b77f8b76cf9c2a7b938c3c8af32caa7d3f1855422f17ebd"
    },
    {
      "id": "multichunk",
      "description": "Multi-chunk file (N = 4: manifest + 1 MiB + 1 MiB + 524,289 B). Blob committed as SHA-256 to keep this file reviewable.",
      "key_hex": "010e1b2835424f5c697683909daab7c4d1deebf805121f2c394653606d7a8794",
      "key_string": "AQ4bKDVCT1xpdoOQnaq3xNHe6_gFEh8sOUZTYG16h5QM9Uk",
      "salt_hex": "0badf00d",
      "name": "big.bin",
      "type": "application/octet-stream",
      "plaintext": {
        "derive": "sha256-stream",
        "seed": "SEALBY-WEB-KAT-1",
        "length": 2621441
      },
      "blob_len": 2621604,
      "blob_sha256_hex": "be393cd3f8f24413bcb419893db52af9c57b486c71e03b867834980a17b34c0c",
      "blob_first64_hex": "5345414c42592d5701010badf00d0000000000537d244f020588ed0887ad2aa4b722959fd948045940920e9fa269cfb4caa4774445111064124678a700b906ac"
    }
  ]
}
