Before signing
- Fetch the current contract from its provider.
- Verify the provider/domain and contract ID.
- Validate the XML and parameter rules.
- Render the selected human-readable language.
- Confirm machine and human sections agree.
- Confirm the signer’s Legal Identity is approved and assigned/eligible for the role.
- Confirm validity dates and current state permit signing.
Key selection
The contract library supports:
Legally binding contract signatures should use the approved Legal Identity keys required by the workflow.
Validate a received contract
Check:- recognized smart-contract namespace and schema;
- deterministic normalization;
- parameter types, ranges, expressions, and protected forms;
- each client signature against the referenced Legal Identity and signed role;
- role
MinCount/MaxCountand explicit part rules; - legal identity state and trust chain;
- server signature/attestation;
- lifecycle state, timestamps, and visibility;
- attachment hashes/signatures where used.
ContractsClient.Validate(...) for protocol-aware validation. Offline validation can be partial when current identities, schemas, or provider state must be fetched.