SC0 – Common Serialization Rules
Version: 0.9.0
Status: Release Candidate
Type: Normative Common Specification
Copyright © 2026 inside workspace GmbH
This work is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) License.
1. Introduction
1.1 Purpose
This specification defines the common serialization rules applicable to all schema specifications of the KAPRI Specification Suite.
It establishes a consistent foundation for the serialization, validation and interchange of all Knowledge Asset Package components.
1.2 Scope
This specification defines
- serialization format,
- character encoding,
- property naming,
- cardinality rules,
- object representation,
- canonical representation,
- extensibility rules,
- forward compatibility.
This specification does not define package-specific properties or schemas.
1.3 Relationship to Other Specifications
This specification is referenced by all schema specifications of the KAPRI Specification Suite, including:
- S1 – Package Manifest Schema
- S2 – Packing List Schema
- S3 – Composition Schema
- S4 – KAP Key Delivery Message Schema
All schema specifications SHALL conform to the serialization rules defined by this document.
The key words “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, and “MAY” in this specification are to be interpreted as described in RFC 2119.
2. Serialization Principles
The following principles apply to all schema specifications.
Serialization SHALL preserve the architectural semantics defined by the corresponding normative specifications.
Serialization SHALL remain independent of implementation technologies.
Conforming implementations SHALL serialize and deserialize Package components according to this specification.
Serialization SHALL NOT introduce semantic information that is not defined by the corresponding schema specification.
3. Serialization Rules
3.1 Serialization Format
Unless otherwise specified by the corresponding schema specification, Package components SHALL be serialized as JSON documents.
Future serialization formats MAY be defined by separate specifications without changing the corresponding data models.
3.2 Character Encoding
All serialized documents SHALL use UTF-8 encoding.
Unicode characters SHALL be preserved without modification.
3.3 Property Names
Property names are case-sensitive.
Conforming implementations SHALL use the property names defined by the corresponding schema specification exactly as specified.
3.4 Cardinality
Properties SHALL conform to the cardinalities defined by the corresponding data model.
Mandatory properties SHALL be present exactly once.
Optional properties MAY be omitted.
Repeated properties SHALL be represented as arrays.
3.5 Object Representation
Each Package component SHALL be represented as a single JSON object unless otherwise specified by the corresponding schema specification.
Nested objects MAY be used where defined by the corresponding schema specification.
3.6 Property Ordering
The order of properties SHALL have no semantic meaning.
Conforming implementations SHALL NOT depend on property ordering.
3.7 Unknown Properties
Implementations SHOULD ignore unknown properties unless their interpretation is required by a referenced specification or implementation profile.
Unknown properties SHALL NOT invalidate an otherwise conforming document.
3.8 Canonical Representation
Where digital signatures or hash calculations require deterministic serialization, Package components SHALL be transformed into a canonical representation.
The canonicalization method SHALL conform to the canonicalization specification referenced by the corresponding schema specification.
3.9 Schema Versioning
Every serialized Package component SHALL identify the schema version used for its serialization.
Receiving implementations SHALL use this information to select the appropriate schema definition.
3.10 Extensibility
Future versions of a schema specification MAY introduce additional properties.
Extensions SHALL NOT change the semantics of existing properties.
Extensions SHALL NOT invalidate documents conforming to earlier schema versions.
Conforming implementations SHOULD remain forward compatible whenever practical.
4. Conformance
This chapter defines the conformance requirements for implementations using the common serialization rules specified by this document.
Conformance to this specification ensures a consistent serialization and interpretation of Package components across all schema specifications of the KAPRI Specification Suite.
4.1 General Conformance
Implementations claiming conformance with this specification SHALL serialize and deserialize Package components in accordance with the requirements defined by this specification.
Implementations SHALL preserve the serialization semantics defined by the corresponding schema specifications.
4.2 Schema Conformance
Schema specifications referencing this specification SHALL conform to the common serialization rules defined by this document.
Schema specifications MAY define additional serialization constraints, provided they do not contradict the requirements of this specification.
4.3 Interoperability
Conforming implementations SHALL interpret serialized Package components consistently and independently of implementation technology.
Serialization SHALL preserve the semantic meaning defined by the corresponding schema specification.
4.4 Extensibility
Future versions of this specification MAY introduce additional serialization rules.
Existing serialization rules SHALL remain backward compatible whenever possible.
Implementations SHOULD ignore unknown properties unless their interpretation is required by a referenced specification or implementation profile.
4.5 Relationship to Schema Specifications
This specification defines common serialization rules only.
Package-specific object models, properties, data types and validation requirements are defined by the corresponding schema specifications.
Conformance with this specification does not imply conformance with any individual schema specification.
Conformance with a schema specification requires conformance with:
- SC0 – Common Serialization Rules
- the corresponding schema specification