> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neuro-tech.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Contract data model

> See how machine semantics, human text, roles, parameters, and attestations form a signed contract

The standard smart-contract namespace used by current clients is:

```text theme={null}
urn:nf:iot:leg:sc:1.0
```

## Core fields

| Field                       | Purpose                                               |
| --------------------------- | ----------------------------------------------------- |
| Contract ID                 | Stable server-assigned identifier                     |
| Template ID                 | Approved template used to create the instance, if any |
| Provider                    | Trust Provider responsible for the contract           |
| State                       | Proposed through Deleted lifecycle state              |
| Visibility                  | Who can retrieve or search the contract               |
| From / To                   | Optional absolute validity interval                   |
| Duration                    | Relative contract duration                            |
| Archive required / optional | Retention expectations                                |
| Parts mode                  | Open, template-only, or explicitly defined signers    |
| Roles                       | Signer categories and cardinality                     |
| Parts                       | Legal Identity and role assignments                   |
| Parameters                  | Typed instance values and validation                  |
| For machines                | Domain XML element                                    |
| For humans                  | Localized structured text                             |
| Client signatures           | Legal-identity-backed signer attestations             |
| Server signature            | Trust Provider attestation over validated content     |

## Machine-readable section

`ForMachines` contains one XML root element. Its qualified name—local name plus namespace—defines the contract's machine semantics. A server can retrieve the corresponding XML schema and validate that the element is well formed.

Choose a namespace you control, version it, publish an XSD, and keep backwards compatibility explicit. Do not infer semantics from a local name alone.

## Human-readable section

`ForHumans` is an array of structured, language-tagged documents. The client selects the requested language and can render Markdown, plain text, or HTML.

Every material machine rule must have an accurate human explanation. Approval should reject a template when the two sections conflict.

## Signed boundaries

Contract normalization produces a deterministic XML representation for signing. A signature is valid only for the exact normalized content and the signer's legal identity key. Transient parameter values are deliberately kept out of the signed/persisted clear-text boundary; encrypted values are signed in protected form.

<Warning>
  Never reformat contract XML with a general-purpose serializer before verifying a signature. Use the contract library's normalization and validation methods.
</Warning>
