diff --git a/standards/application/privatev1.md b/standards/application/privatev1.md index 918b511..8f749a6 100644 --- a/standards/application/privatev1.md +++ b/standards/application/privatev1.md @@ -64,7 +64,6 @@ In practice content size MUST be less that `255` * `max_seg_size` see: [initiali Other than its size, the protocol is agnostic of content. - ### Payload Delivery How payloads are sent and received by clients is not described in this protocol. @@ -162,12 +161,13 @@ The nonce and tag are combined with the ciphertext for transport where `cipherte ## Frame Handling This protocol uses explicit tagging of content, to remove ambiguity when parsing/handling frames. -This allows for clear distinction between content and frames providing protocol functionality. +This creates a clear distinction between frames generated by the protocol, and content which was passed in. Even if new frames are added in the future, Clients can be certain whether the payload is intended for itself or applications. This is achieved through an invariant - All non-content frames are intended to be consumed by the client. When a new unknown frame arrives it can be certain that a version compatibility issue has occurred. -- Clients SHALL only pass content frames to Applications +- All application level content MUST use the `content` frameType. +- Clients SHALL only pass `content` tagged frames to Applications - Clients MAY drop unrecognized frames