# Universal Document Compatibility Certification Profile v0.1.0

Certification means only that the named implementation demonstrated compatibility with the stated Universal Document specification, implementation profile, and certification suite at the time tested.

It does **not** certify the software as secure overall, legally compliant, HIPAA compliant, enterprise-approved, identity-verified, trusted by Universal Document, bug-free, or commercially endorsed.

## Version bindings

- UD specification: 0.1.0
- Implementation profile: UD-IMPLEMENTATION-0.1.0
- Certification profile: UD-CERTIFICATION-0.1.0
- Certification suite: UD-CERT-SUITE-0.1.0

Certification never silently advances to a later profile.

## Scopes

- **UD READ COMPATIBLE** — consumes supported canonical UDR and UDS and rejects relevant invalid inputs.
- **UD WRITE COMPATIBLE** — emits canonical UDR and append-only revision structures.
- **UD SEAL/VERIFY COMPATIBLE** — handles canonical UDS integrity and applicable signature semantics, including tamper and wrong-key rejection.
- **UD BROWSERCARRIER COMPATIBLE** — produces or consumes exact-byte, offline, no-required-script BrowserCarriers.
- **FULL UD COMPATIBLE** — passes every required category in this profile.

A narrow product may claim only the scopes it implements.

## Required tests

UDR tests cover schema, canonical representation, block semantics, revision creation, parent chaining, immutable history, and invalid-history rejection. UDS tests cover canonical bytes, integrity, test-signature validity, wrong-key rejection, tamper rejection, sealed semantics, and amendment behavior when claimed. BrowserCarrier tests cover both extensions, exact embedded bytes, offline readability, no required script, and zero required automatic network access.

Trust-state tests require implementations to keep integrity, signature validity, trusted signing key, signer identity, timestamp, current status, and transparency distinct. Unchecked states must not be shown as successful.

Negative tests are mandatory: malformed UD, unsupported version, invalid parent, reordered history, changed historical block, one-byte UDS tamper, wrong key, malformed carrier, and embedded bytes different from the authoritative raw UD.

## Application and black-box submission

Applicants provide product/version/platform, claimed scopes, supported specification version, generated golden-equivalent artifacts, and a callable CLI, endpoint, or package when appropriate. Proprietary source code is not required by default.

Failure output names the test, expected behavior, actual behavior, and profile version. An applicant may fix and retest.

## Validity and change control

Recertification is required for a material compatibility behavior change, a newly claimed scope, a supported UD specification change, or a certification-profile change. Pure patches that do not affect compatibility behavior do not require pointless recertification.

States: `ACTIVE`, `SUPERSEDED`, `EXPIRED`, `WITHDRAWN_BY_VENDOR`, and `REVOKED_FOR_COMPATIBILITY_FAILURE`. Compatibility revocation is narrow and must not be used as leverage in unrelated commercial disputes.

Certification is optional. Reading the specification, creating UD, validating locally, and shipping independently implemented software never requires certification or payment.
