Skip to content

NPE Claims Should Use Binary Format Instead of JSON #1

@arkavo-com

Description

@arkavo-com

Issue

Currently, NPE (Non-Person Entity) claims are transmitted as JSON in HTTP requests to authnz-rs. This is inconsistent with the NanoTDF binary format used elsewhere in the architecture.

Current State

arkavo-edge → authnz-rs (authentication): JSON

{
  "platform_code": "macos-arm64",
  "platform_state": "Trusted",
  "device_id": "...",
  "app_version": "0.38.2"
}

authnz-rs → arkavo-edge (response): NTDF binary token (Z85 encoded)

Authorization: NTDF <z85-encoded-binary-token>

Proposal

NPE claims should be serialized as binary (matching NanoTDF format) and Z85 encoded for transport, rather than using JSON.

Benefits:

  1. Consistency with NanoTDF binary format
  2. Smaller payload size
  3. Unified serialization approach
  4. Better alignment with RATS attestation evidence formats

Impact

  • authnz-rs API changes (breaking)
  • arkavo-edge client changes
  • Update NTDF token specification
  • Migration path for existing deployments

Related Work

  • NTDF token specification: ntdf-token/draft-arkavo-ntdf-token-00.md
  • NanoTDF implementation: opentdf-rs
  • arkavo-edge implementation: Issue #309

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions