social-kit / test / vectors / envelope.json
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
{
  "_doc": "Signed envelope contract (envelope.ts). deterministic: fixed seeds -> keys, certs, the fixed inner envelope, its canonical sig preimage and byte-exact Ed25519 signature. sealed: TS-produced wrapbox blobs (random IV + ephemeral X25519 — NOT reproducible; the port must UNSEAL them via openEnvelope). exp is 2100-01-01 so the fixture never expires; sealed_expired must open to null.",
  "deterministic": {
    "seeds": {
      "sender_A": "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8",
      "recipient_B": "ICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj8"
    },
    "sender": {
      "pub": "A6EHv_POEL4dcN0Y50vAmWfk1jCbpQ1fHdyGZBJVMbg",
      "suite_x_pub": "JxAnhLfGObT9mnK6x7NqsmuBZlNJdmhsWxrVPzOyABI",
      "suite_x_priv_hex": "75ed855d212cd8a685f8bc4aeef1933087242cbe9f96a18e4066ee89e6122943",
      "x_cert": "zCmTMOyQllgYrT0P2Cl3uDlpNOojJUHFfSS2LsTW6HEze1meJieoJvbUGSlzncRuP_zem1O0SecvosJRLYdGCw"
    },
    "recipient": {
      "pub": "Kay64UG8yvCyLhqU000LxzYeUm0L_hLIl5S8kyKWbdc",
      "suite_x_pub": "HrbyYLOKnDdB_6dSrAU1uOJJcXA2VS5SsE5ha14y5Cg",
      "suite_x_priv_hex": "fe1e7e266ffe9eaa33c8fe31a4e998b7e9632edc480cf90ed09b05da2d0cbb26",
      "x_cert": "qzmMSxfPXUvXHUY0b7dQViMialqNA0181yBThn6-XQCvK0nsO7aoTL7JTFVfi6LcUx2H22HWZvBH0cf0I0KzBA"
    },
    "suite_salt": "ardegazu.ro/id/v1",
    "ctx": "to|v1|Kay64UG8yvCyLhqU000LxzYeUm0L_hLIl5S8kyKWbdc",
    "env_id_fixed": "AQIDBAUGBwgJCgsMDQ4PEA",
    "sig_preimage": "social-env|v1|to|v1|Kay64UG8yvCyLhqU000LxzYeUm0L_hLIl5S8kyKWbdc|{\"body\":{\"k\":1,\"msg\":\"hei ✨\"},\"exp\":4102444800000,\"from\":{\"name\":\"Ala \",\"pub\":\"A6EHv_POEL4dcN0Y50vAmWfk1jCbpQ1fHdyGZBJVMbg\",\"x\":\"JxAnhLfGObT9mnK6x7NqsmuBZlNJdmhsWxrVPzOyABI\",\"xs\":\"zCmTMOyQllgYrT0P2Cl3uDlpNOojJUHFfSS2LsTW6HEze1meJieoJvbUGSlzncRuP_zem1O0SecvosJRLYdGCw\"},\"id\":\"AQIDBAUGBwgJCgsMDQ4PEA\",\"t\":\"freq\",\"ts\":1735689600000}",
    "sig_preimage_sha256_b64url": "4tHd-s13mjszQ-kJJL7SVZbM2VHjT2b0Kvi0-vdSh7A",
    "sig_b64url": "kkzlExXRs8ow_LNLNXsKwRQ6tm5V5lqQuhDDwNtDXNiUmN4Qbu3NvLWcbOvPUmLI0ileo1hwCY9avbZh-V4qAQ",
    "inner": {
      "t": "freq",
      "id": "AQIDBAUGBwgJCgsMDQ4PEA",
      "from": {
        "pub": "A6EHv_POEL4dcN0Y50vAmWfk1jCbpQ1fHdyGZBJVMbg",
        "x": "JxAnhLfGObT9mnK6x7NqsmuBZlNJdmhsWxrVPzOyABI",
        "xs": "zCmTMOyQllgYrT0P2Cl3uDlpNOojJUHFfSS2LsTW6HEze1meJieoJvbUGSlzncRuP_zem1O0SecvosJRLYdGCw",
        "name": "Ala "
      },
      "ts": 1735689600000,
      "exp": 4102444800000,
      "body": {
        "msg": "hei ✨",
        "k": 1
      },
      "sig": "kkzlExXRs8ow_LNLNXsKwRQ6tm5V5lqQuhDDwNtDXNiUmN4Qbu3NvLWcbOvPUmLI0ileo1hwCY9avbZh-V4qAQ"
    },
    "inner_json": "{\"t\":\"freq\",\"id\":\"AQIDBAUGBwgJCgsMDQ4PEA\",\"from\":{\"pub\":\"A6EHv_POEL4dcN0Y50vAmWfk1jCbpQ1fHdyGZBJVMbg\",\"x\":\"JxAnhLfGObT9mnK6x7NqsmuBZlNJdmhsWxrVPzOyABI\",\"xs\":\"zCmTMOyQllgYrT0P2Cl3uDlpNOojJUHFfSS2LsTW6HEze1meJieoJvbUGSlzncRuP_zem1O0SecvosJRLYdGCw\",\"name\":\"Ala \"},\"ts\":1735689600000,\"exp\":4102444800000,\"body\":{\"msg\":\"hei ✨\",\"k\":1},\"sig\":\"kkzlExXRs8ow_LNLNXsKwRQ6tm5V5lqQuhDDwNtDXNiUmN4Qbu3NvLWcbOvPUmLI0ileo1hwCY9avbZh-V4qAQ\"}",
    "inner_json_utf8_hex_sha256": "H8fc6Nk0A1Tqlepq-Q0atDsJBrlE1SADjv2Yqvs7B-s",
    "opened_name_clamped": "Ala",
    "consts": {
      "ENV_DEFAULT_TTL_MS": 604800000,
      "INVITE_TTL_MS": 3600000,
      "SEEN_ENV_CAP": 500
    },
    "notes": [
      "dedup key = inner.id verbatim (16 random bytes b64url at build time; fixed here) — no derivation",
      "sig = Ed25519 over utf8('social-env|v1|' + ctx + '|' + canon(inner minus sig))",
      "wrapped plaintext is JSON.stringify(inner) in INSERTION order (t,id,from{pub,x,xs,name},ts,exp,body,sig) — NOT canon()",
      "openEnvelope verifies the X-cert then the sig over the RAW from.name, and only then clamps the returned name (clampProfile)",
      "ctx binds recipient identity: envCtx(toIdPub) = 'to|v1|' + toIdPub — same ctx across inbox/pair/live transports"
    ]
  },
  "sealed": {
    "recipient_seed": "ICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj8",
    "ctx": "to|v1|Kay64UG8yvCyLhqU000LxzYeUm0L_hLIl5S8kyKWbdc",
    "outer_json": "{\"v\":1,\"w\":{\"to\":\"Kay64UG8yvCyLhqU000LxzYeUm0L_hLIl5S8kyKWbdc\",\"toX\":\"HrbyYLOKnDdB_6dSrAU1uOJJcXA2VS5SsE5ha14y5Cg\",\"ephPub\":\"tusTVRZWR920SrGLZZZwKNrn4Iii7mTpg9vMiFgy6ng\",\"iv\":\"zhzOdmQ6Sn52SJXk\",\"ct\":\"z55LPXOCBbdqBjx4qEnXB+XTH63qD5xkxQfKzS7qRil1MfhIUOgWByEGAOpXe12A8bec4US6bGucX8MfFZDgvKIV0RdPyPlknZIxpd1s89jDiEyA22UOJ1RymQ8ToltTcobKSypbAOFfkUfMW2XnuopobSTMclMFN2idO0KtRLQjUtgKj8vCbCsqoQ+nHdXHo5oY7SljCl34gnuAMCb9N+C9DbiLw2FghHcxOYSXCtqj91q1OtQ6AbsR7r6uyfr62YJ+lnJHZDXzjXhoJsaLVgTJFiNfhptNkyxLPu4/P1kdvhA3AzPh91xEC5kfUQXWuP728OnDpKfTcSVr0BE9vW1yfFXlcNUkoVkdzTgPpaqyfP24okcWGJa83WRsJzguRhoxOZQcRiIE+IQnh3J1vBD6AcFKgnHZxuqSqxXegjHJoqoPM7Rp4/Hr5bQI/7EfR9rFdSNA1ZE5npBHtmRQMBu13Xhc5rpe+6DxORcI57K7tDUkLiqnA+SqvL9dd0VSZc68/iRPFuKUTaqiPL2dByxKs3jtbZJsAs//okU1+Cg6yYpjCuFZshpnGNLQdxc7qDvnCvy9TS66+Q==\"}}",
    "expect_inner": {
      "t": "freq",
      "id": "AQIDBAUGBwgJCgsMDQ4PEA",
      "from": {
        "pub": "A6EHv_POEL4dcN0Y50vAmWfk1jCbpQ1fHdyGZBJVMbg",
        "x": "JxAnhLfGObT9mnK6x7NqsmuBZlNJdmhsWxrVPzOyABI",
        "xs": "zCmTMOyQllgYrT0P2Cl3uDlpNOojJUHFfSS2LsTW6HEze1meJieoJvbUGSlzncRuP_zem1O0SecvosJRLYdGCw",
        "name": "Ala"
      },
      "ts": 1735689600000,
      "exp": 4102444800000,
      "body": {
        "msg": "hei ✨",
        "k": 1
      },
      "sig": "kkzlExXRs8ow_LNLNXsKwRQ6tm5V5lqQuhDDwNtDXNiUmN4Qbu3NvLWcbOvPUmLI0ileo1hwCY9avbZh-V4qAQ"
    },
    "expired_outer_json": "{\"v\":1,\"w\":{\"to\":\"Kay64UG8yvCyLhqU000LxzYeUm0L_hLIl5S8kyKWbdc\",\"toX\":\"HrbyYLOKnDdB_6dSrAU1uOJJcXA2VS5SsE5ha14y5Cg\",\"ephPub\":\"nxvUl6kQ1RTUk5gVTQaAqGLH3kJPj2MU_9xl_Ti0bQE\",\"iv\":\"XCKCMSF+PdUVt+2t\",\"ct\":\"FRW2DLqfpeniFmBBFJuEQiM92pDnATDZtKXxc4sJckHx4WXfky4qvEnoQQ3sEHoavpGnQLo16CqJhI2axLxglORCv8tMDvcpxXGv3GypN75gCvI3FGOZmEaSplSXOPFzMaVAu/hg3c8WTct7dw5nH5NYbINoqLtLyFD0l3+ChqXe5k49OY7ISHY7+alJBGtsFmwwO06mcvPXr8Y5lyibwDjAjiiGLtfHgHXmjCBSkIWPgkH088GFa7JRHNYmPiP8R+BSiT5U3AjWjQPR51URF8jULwv300j0YKwjZ7ebW3q5sJEANhkKAScMn7f7zYSgK6YW+BI44JSFkBzR7U+PgDf9GS6rM9Xo8wmJuXheuaRnEOOPxkqL/C1Zc6N8hvhidYG4ZLKxnDS0VG/PQVNdYpdmts6qGUuO6OHYdKxCOo3mOyhuH2Z1nYmG1W3sMVLUCTDwHF1nhwmnzezXglNjlTo4BETqAkwKjg1ZxvrsCZZrpxirpaRli9VScMe6S8dK3fMX+E8NR/fXeHwsXAJOQwnkcjT8vKt0Z6/z6f3stb9ducMVqD7AYwdgGXSlekV/XJ7AYIBCbn1U3w==\"}}",
    "expect_expired": null
  }
}

static mirror of HEAD · about · clone: git clone https://git.ardegazu.ro/social-kit.git