Metadata-Version: 2.4
Name: ecz-id
Version: 0.1.0
Summary: ECZ-ID shared core: result contract, reason codes, safe inspection utilities and plugin discovery. Inspects, explains and routes only.
Project-URL: Documentation, https://developers.ecocitizenz.com
Project-URL: Machine Interface, https://machine.ecocitizenz.org/.well-known/ecz-machine.json
Author-email: Ecocitizenz <ecocitizenz@gmail.com>
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Keywords: ecz-id,identity,inspection,provenance
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# ECZ-ID Shared Core (`ecz-id`)

The shared core of the ECZ-ID PyPI family. It provides:

* the public **result contract** (`ecz_id.result`) that visibly separates
  local configuration/evidence posture from public Resolver evidence posture;
* the stable **reason-code register** (`ecz_id.reason_codes`);
* **safe bounded file enumeration** (`ecz_id.fs`) — never follows symlinks,
  never escapes the root, never executes discovered code;
* **redaction** (`ecz_id.redaction`) applied to every export;
* **URL validation and SSRF controls** (`ecz_id.urlsafety`) — https-only,
  no internal hosts, no private IPs;
* **offline mode** (`ecz_id.offline`);
* **report exporters** (`ecz_id.report`) — JSON, Markdown, text;
* the **contextual next-action selector** (`ecz_id.next_actions`) — routing only;
* **report exporters** including **SARIF** (`ecz_id.report`);
* the **Quiet Machine Interface** (`ecz_id.quiet_interface`) — the public-safe
  packaged manifest, report envelope, footer and disclosure scan;
* **shared inspection assembly** (`ecz_id.inspection`), the **shared specialist
  CLI** (`ecz_id.speccli`), the **Resolver client** (`ecz_id.resolver`) and
  **compare / share-guidance** helpers (`ecz_id.sharing`);
* **Central Machine Interface manifest models** (`ecz_id.machine_interface`);
* **plugin discovery** (`ecz_id.plugins`) via the `ecz_id.plugins` entry-point
  group.

## What this family never does

These packages inspect, explain and route only. They never issue or
activate an ECZ-ID, never determine BOUND, never calculate carts or
prices, never create proof, never execute discovered project, agent,
MCP or robot code, never upload arbitrary source, and use no hidden
telemetry.

No result is a safety, certification, approval, compliance, insurance
or premium decision. **Missing public proof is neutral — it does not
mean unsafe.** Local policy decides. Re-check before reliance.

## CLI

`ecz-id` (owned exclusively by this distribution):

```
ecz-id about
ecz-id version
ecz-id plugins [--json]
ecz-id capabilities --json
ecz-id routes --json
ecz-id manifest --json          # Quiet Machine Interface manifest
ecz-id explain [ECZ-2001]
```

## Machine Interface

`Machine Interface` · `Manifest` · `Resolve` · `Operator Setup` · `Developer Guidance`

- Central Machine Interface: https://machine.ecocitizenz.org/.well-known/ecz-machine.json
- Resolver (read-only public proof): https://resolver.ecocitizenz.org
- Operator setup (TrustOps): https://trustops.ecocitizenz.com/start
- Developer Gateway: https://developers.ecocitizenz.com

## Licence and trademarks

Apache-2.0 (see `LICENSE`, `NOTICE`). The code licence grants no trademark
rights; “ECZ-ID” and “EcoCitizenz” are trademarks of their owner(s) — see
`TRADEMARKS.md`. Changelog: `CHANGELOG.md`. Security: `SECURITY.md`.
