Metadata-Version: 2.4
Name: ecz-id-digital-counterparty
Version: 0.1.0
Summary: ECZ-ID Digital Counterparty Trust & Readiness: make your website, API or portal machine-readable and ready for ECZ-ID Digital Counterparty Infrastructure. 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
Project-URL: Resolver, https://resolver.ecocitizenz.org
Project-URL: Operator Setup, https://trustops.ecocitizenz.com/start
Project-URL: Developer Guidance, https://developers.ecocitizenz.com
Author-email: Ecocitizenz <ecocitizenz@gmail.com>
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Keywords: digital-counterparty,ecz-id,inspection,readiness,well-known
Classifier: Development Status :: 4 - Beta
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
Requires-Dist: ecz-id
Description-Content-Type: text/markdown

# ECZ-ID Digital Counterparty Trust & Readiness™

**Make your website, API or portal machine-readable and ready for ECZ-ID
Digital Counterparty Infrastructure.** `ecz-id-digital-counterparty`
inspects your site/portal/API-surface metadata, validates and scaffolds a
`/.well-known/ecz-site.json`, and shows exactly what a machine consumer or
the ECZ-ID Resolver would see — locally, offline, in one command.

It **inspects, explains and routes only.** It never issues or activates an
ECZ-ID, never determines BOUND, never writes authoritative state, never
prices or carts, never certifies, and never executes discovered code.
Missing public proof is neutral. **Local policy decides. Re-check before
reliance.**

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

## One-command free trial

```console
$ uvx ecz-id-counterparty inspect ./my-site
# or: pipx run ecz-id-counterparty inspect ./my-site
```

## Genuine example result

```text
ECZ-ID inspection: ./my-site [ecz-id-digital-counterparty]
A. configuration posture : PRESENT
B. public proof posture  : NOT_CHECKED  (neutral)
means        : Local ECZ-ID configuration was found for this subject. | Public Resolver proof was not checked.
does not mean: This does not activate Digital Counterparty Infrastructure and does not create authoritative proof. | ...
reason codes : ECZ-1000, ECZ-2002

ECZ-ID machine interface
Inspect the package manifest for structured capabilities and routes.
...
Local policy decides. Re-check before reliance.
```

The first result is useful with **no account, no network and no config**.
The public check is strictly opt-in (`--check-public`).

## Supported inputs

- A directory or descriptor file. Recognised names:
  `counterparty_descriptor.json`, `dci_descriptor.json`, `ecz-site.json`,
  and a published `/.well-known/ecz-site.json` (nested).
- Declared site/domain, operator/publisher, Resolver link (shape-validated
  under the SSRF policy, never fetched during local inspection), and
  declared API/repository relationships.

## Valuable free capabilities

- Two-sided posture: local configuration vs public Resolver evidence.
- `/.well-known/ecz-site.json` **validation** and **scaffold** generation.
- `inspect_public_site()` — read a public site's well-known file under the
  shared SSRF policy (opt-in).
- `compare` for drift; JSON / Markdown / text / SARIF output; redaction.

## Unsupported inputs

- Not a data-centre availability scanner, uptime monitor or crawler.
- Does not fetch or execute your site; does not follow arbitrary redirects
  to internal hosts.

## What the result means

`PRESENT/PARTIAL/ABSENT/INVALID` describes your **local** configuration.
`PROOF_FOUND` or a neutral posture describes **public** Resolver evidence.

## What it does not mean

Not a safety, certification, approval, compliance, insurance or premium
decision. **Not an activation of Digital Counterparty Infrastructure and
not authoritative proof.** Not an availability/resilience/uptime verdict.
Missing public proof is neutral — it does not mean unsafe.

## Compare / drift

```console
$ ecz-id-counterparty compare ./last-release ./current --json
```

Shows posture changes and reason-code / finding additions and removals —
useful in review and on a schedule.

## CI use

```console
$ ecz-id-counterparty inspect . --sarif > counterparty.sarif   # upload to code scanning
$ ecz-id-counterparty inspect . --json  > counterparty.json    # exit 0 for any completed inspection
```

Exit code is `0` for every completed inspection regardless of posture
(neutrality rule); non-zero only for genuine input/tool errors.

## Quiet Machine Interface

Every install ships a public-safe manifest,
`ecz_quiet_machine_interface.json`, and every JSON report embeds a compact
`machine_interface` object with the canonical roots and safe actions:

```console
$ ecz-id-counterparty manifest --json
```

It exposes the interface and protects the playbook: none of the private
commercial machinery (baskets, weights, prices, SKUs or private
recommendation logic) lives in these packages.

## Resolve / re-check

Public proof and posture can change at any time.

```console
$ ecz-id-counterparty recheck ./my-site --check-public --json
```

Resolver (read-only public proof): https://resolver.ecocitizenz.org

## Operator setup (TrustOps)

If you operate the target and choose to begin, TrustOps handles
recommendation, acquisition, setup, lifecycle and repair — including the
paid **ECZ-ID Digital Counterparty Infrastructure Pack™**:
https://trustops.ecocitizenz.com/start

This package only routes you there. It never prices, carts or sells.

## Developer guidance

Central Machine Interface: https://machine.ecocitizenz.org/.well-known/ecz-machine.json
Developer Gateway: https://developers.ecocitizenz.com

## Privacy and no telemetry

Bounded, read-only, symlink-refusing inspection. No telemetry, no source
upload. The optional public check sends only minimal safe context (source,
package, version, typed intent) to validated public hosts over HTTPS.
Secrets are redacted on every export. Offline mode
(`--offline` / `ECZ_ID_OFFLINE=1`) skips all network.

## Licence

Apache-2.0. See `LICENSE` and `NOTICE`.

## Trademark boundary

The Apache-2.0 code licence grants **no** trademark rights. "ECZ-ID",
"EcoCitizenz", "ECZ-ID Digital Counterparty Trust & Readiness" and "ECZ-ID
Digital Counterparty Infrastructure Pack" are trademarks of their owner(s).
See `TRADEMARKS.md`.

## Changelog and security

See `CHANGELOG.md` and `SECURITY.md` at the repository root.

CLI: `ecz-id-counterparty` &nbsp;|&nbsp; Import: `ecz_id_digital_counterparty` &nbsp;|&nbsp; Plugin group: `ecz_id.plugins`
