{
  "_": "Values a key tool must reproduce to make keys the service and the dashboard accept. Made by the dashboard's own crypto and frozen: a change here is a format change.",
  "store_key_slot": {
    "_": "A store key's slot. kek = HKDF-SHA256(ikm = the key text as UTF-8, salt = the account's customer id, info, 32 bytes); slot = base64(nonce(12) || AES-256-GCM(kek, dek) || tag(16)).",
    "raw_key": "dke_s_vector-not-a-real-key",
    "salt": "lsc_vector",
    "info": "dke-store-kek-v2",
    "kek_hex": "6820ba49b84ff6aaa712ba2c8928008711a2f508694f15b83d94af6a16b4b508",
    "dek_hex": "a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf",
    "key_hash_hex": "316b006dff1cf093bc0b48f429108946cfa7d640f1b67336f9f56d60fd3b1f5d",
    "slots_b64": [
      "wirm7qlZ3r46BcNtNYHbtOEQ+qRJSj84zUIPJIqoGzu/V3M8SS2vh7yOQ0rNSyjvtXIRWGrTN4fhKHEu",
      "d0zrEYcRyEtLGdH9YUwMeajHpPveykXh80kAk2YvCqXl8SBZ9fhuc5ovhnFZ5IYUzsF7TVX+iYuqe1EE"
    ]
  },
  "customer_seal": {
    "_": "A store sealed to the account's customer key. kek = HKDF-SHA256(ikm = the customer key, salt = the customer id, info \"dke-store-customer-kek-v1\", 32 bytes); same layout as a slot.",
    "customer_key_hex": "c0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedf",
    "salt": "lsc_vector",
    "dek_hex": "a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf",
    "seal_b64": "Lo4JbgoR+sPuQCgcCQbqIGtZk419yEKv1Y+lh8LyeyDYBdUZVfvnkbyAAZbI7S5ogq2PSJa/XMsWPU5d"
  },
  "password": {
    "_": "Signing in. master = PBKDF2-SHA256(password, salt = the normalized email, 600000 iterations, 32 bytes); login proof = hex(HKDF-SHA256(master, empty salt, info \"langsyn-login-proof-v1\")); the customer key is kept wrapped under HKDF-SHA256(master, empty salt, info \"langsyn-customer-key-v1\").",
    "email": "  Ada.Lovelace@Example.COM ",
    "password": "correct horse ⚡ battery staple",
    "normalized_email": "ada.lovelace@example.com",
    "master_key_hex": "43abb875a8d488b5642fc94b049628ba4b89d129d8e5747e239e43f79cc0e005",
    "login_proof_hex": "db082f706a998ead272e4a97f8fe1ab82eddc5b95fd32c543fbbaa2f6485e307",
    "customer_key_hex": "c0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedf",
    "customer_key_wrap_b64": "gfrXxEFZJjkZZWqLgqxoktDUNWK0YGMjZ6+DYDAKpK2RBavVWK2yFy3T5mu2Hx+AXyWpLDLFapChvuS3",
    "customer_key_text": "dke_c_wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t8"
  },
  "normalized_emails": [
    [
      "  Ada.Lovelace@Example.COM ",
      "ada.lovelace@example.com"
    ],
    [
      "İSTANBUL@example.com",
      "i\u0307stanbul@example.com"
    ],
    [
      "ΟΔΥΣΣΕΥΣ@example.com",
      "οδυσσευς@example.com"
    ],
    [
      "ΣΑΣ.x@example.com",
      "σασ.x@example.com"
    ],
    [
      "Σ@example.com",
      "σ@example.com"
    ],
    [
      "\ufeffbom@example.com\u2028",
      "bom@example.com"
    ],
    [
      "\u0085nel@example.com",
      "\u0085nel@example.com"
    ],
    [
      "\u00a0nbsp@EXAMPLE.com\u3000",
      "nbsp@example.com"
    ]
  ]
}
