Skip to content

AAD spec gap: no provision for non-msgpack/uncompressed; str(bool) Python-ism #12

@27Bslash6

Description

@27Bslash6

Summary

The AAD v0x03 spec pseudocode hardcodes create_aad(tenant, key, "msgpack", true) and defines compressed as the string "True"/"False". Two gaps:

  1. No provision for non-msgpack formats (Arrow) or for compressed=false — the spec cannot describe an encrypted uncompressed or non-msgpack entry.
  2. str(bool) is a Python-ism baked into the authenticated data: a Rust/TS/Go SDK MUST emit Python's exact capitalization ("True", not "true") or AES-GCM auth fails.

Evidence

Impact

The canonical contract is under-specified for the formats the SDKs actually produce, and encodes a language-specific boolean representation into a cross-language authenticated field.

Fix

Generalize the AAD format and compressed fields (define the full value set incl. arrow), and specify a language-neutral boolean encoding (e.g. 1/0 or a single byte) — coordinated as a protocol version bump across SDKs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions