Update docs for v0.3.0 and bump attest module to v0.2.0
- Bump attest subpackage version from 0.1.0 to 0.2.0 - Add c2pa_bridge/ module to CLAUDE.md architecture tree - Add security/ and planning/ docs to CLAUDE.md and docs/index.md - Update federation architecture doc version to 0.3.0 - Verify zero remaining old branding references across all docs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
e4f68fc83a
commit
3a9cb17a5a
15
CLAUDE.md
15
CLAUDE.md
@ -67,7 +67,7 @@ src/fieldwitness/ Core library
|
|||||||
image_utils.py / audio_utils.py / video_utils.py
|
image_utils.py / audio_utils.py / video_utils.py
|
||||||
keygen.py / qr_utils.py / recovery.py / debug.py / utils.py
|
keygen.py / qr_utils.py / recovery.py / debug.py / utils.py
|
||||||
|
|
||||||
attest/ Provenance attestation engine (inlined from fieldwitness.attest v0.1.0)
|
attest/ Provenance attestation engine (inlined from fieldwitness.attest v0.2.0)
|
||||||
attestation.py Core attestation creation + EXIF extraction
|
attestation.py Core attestation creation + EXIF extraction
|
||||||
verification.py Attestation verification
|
verification.py Attestation verification
|
||||||
crypto.py Ed25519 signing
|
crypto.py Ed25519 signing
|
||||||
@ -97,6 +97,12 @@ src/fieldwitness/ Core library
|
|||||||
models.py IdentityInfo, KeystoreStatus, RotationResult dataclasses
|
models.py IdentityInfo, KeystoreStatus, RotationResult dataclasses
|
||||||
export.py Encrypted key bundle export/import (SOOBNDL format)
|
export.py Encrypted key bundle export/import (SOOBNDL format)
|
||||||
|
|
||||||
|
c2pa_bridge/ C2PA (Content Authenticity) bridge
|
||||||
|
__init__.py Public API: export, has_c2pa()
|
||||||
|
cert.py Self-signed X.509 cert generation from Ed25519 key
|
||||||
|
export.py AttestationRecord -> C2PA manifest
|
||||||
|
vendor_assertions.py org.fieldwitness.* assertion schemas
|
||||||
|
|
||||||
fieldkit/ Field security features
|
fieldkit/ Field security features
|
||||||
killswitch.py Emergency data destruction (PurgeScope.KEYS_ONLY | ALL, deep forensic scrub)
|
killswitch.py Emergency data destruction (PurgeScope.KEYS_ONLY | ALL, deep forensic scrub)
|
||||||
deadman.py Dead man's switch (webhook warning + auto-purge)
|
deadman.py Dead man's switch (webhook warning + auto-purge)
|
||||||
@ -142,6 +148,13 @@ docs/ Documentation
|
|||||||
chain-format.md Chain record spec (CBOR, entropy witnesses, serialization)
|
chain-format.md Chain record spec (CBOR, entropy witnesses, serialization)
|
||||||
export-bundle.md Export bundle spec (FIELDWITNESSX1 binary format, envelope encryption)
|
export-bundle.md Export bundle spec (FIELDWITNESSX1 binary format, envelope encryption)
|
||||||
federation-protocol.md Federation server protocol (CT-inspired, gossip, storage tiers)
|
federation-protocol.md Federation server protocol (CT-inspired, gossip, storage tiers)
|
||||||
|
security/
|
||||||
|
threat-model.md Adversary model, guarantees, non-guarantees, known limitations
|
||||||
|
planning/
|
||||||
|
why-fieldwitness.md Problem statement, positioning, scenarios
|
||||||
|
c2pa-integration.md C2PA bridge architecture, concept mapping, implementation phases
|
||||||
|
packaging-strategy.md Hosted demo, standalone binary, mobile app, onboarding flow
|
||||||
|
gtm-feasibility.md Phased plan for credibility, funding, field testing
|
||||||
training/
|
training/
|
||||||
reporter-quickstart.md One-page reporter quick-start for Tier 1 USB (print + laminate)
|
reporter-quickstart.md One-page reporter quick-start for Tier 1 USB (print + laminate)
|
||||||
reporter-field-guide.md Comprehensive reporter guide: attest, stego, killswitch, evidence
|
reporter-field-guide.md Comprehensive reporter guide: attest, stego, killswitch, evidence
|
||||||
|
|||||||
@ -34,7 +34,7 @@ Pull USB = zero trace Web UI + federation API Zero knowledge of
|
|||||||
\_____ sneakernet ____+____ gossip API ____/
|
\_____ sneakernet ____+____ gossip API ____/
|
||||||
```
|
```
|
||||||
|
|
||||||
Stego (steganography, v4.3.0) and Attest (attestation, v0.1.0) are included as
|
Stego (steganography, v4.3.0) and Attest (attestation, v0.2.0) are included as
|
||||||
subpackages (`import fieldwitness.stego`, `import fieldwitness.attest`). Everything ships as one
|
subpackages (`import fieldwitness.stego`, `import fieldwitness.attest`). Everything ships as one
|
||||||
install: `pip install fieldwitness`.
|
install: `pip install fieldwitness`.
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# Federated Attestation System — Architecture Overview
|
# Federated Attestation System — Architecture Overview
|
||||||
|
|
||||||
**Status**: Design
|
**Status**: Design
|
||||||
**Version**: 0.1.0-draft
|
**Version**: 0.3.0
|
||||||
**Last updated**: 2026-04-01
|
**Last updated**: 2026-04-01
|
||||||
|
|
||||||
## 1. Problem Statement
|
## 1. Problem Statement
|
||||||
|
|||||||
@ -24,6 +24,12 @@
|
|||||||
| [Evidence Guide](evidence-guide.md) | Evidence packages, cold archives, selective disclosure, chain anchoring, legal discovery workflow. |
|
| [Evidence Guide](evidence-guide.md) | Evidence packages, cold archives, selective disclosure, chain anchoring, legal discovery workflow. |
|
||||||
| [Source Drop Box](source-dropbox.md) | Anonymous file intake: tokens, EXIF pipeline, receipt codes, operational security. |
|
| [Source Drop Box](source-dropbox.md) | Anonymous file intake: tokens, EXIF pipeline, receipt codes, operational security. |
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
| Document | Description |
|
||||||
|
|---|---|
|
||||||
|
| [Threat Model](security/threat-model.md) | Adversary model, security guarantees, non-guarantees, cryptographic primitives, key management, known limitations. |
|
||||||
|
|
||||||
## Architecture (Developer Reference)
|
## Architecture (Developer Reference)
|
||||||
|
|
||||||
| Document | Description |
|
| Document | Description |
|
||||||
@ -32,3 +38,12 @@
|
|||||||
| [Chain Format Spec](architecture/chain-format.md) | CBOR record format, entropy witnesses, serialization, storage format, content types. |
|
| [Chain Format Spec](architecture/chain-format.md) | CBOR record format, entropy witnesses, serialization, storage format, content types. |
|
||||||
| [Export Bundle Spec](architecture/export-bundle.md) | FIELDWITNESSX1 binary format, envelope encryption (X25519 + AES-256-GCM), Merkle trees. |
|
| [Export Bundle Spec](architecture/export-bundle.md) | FIELDWITNESSX1 binary format, envelope encryption (X25519 + AES-256-GCM), Merkle trees. |
|
||||||
| [Federation Protocol Spec](architecture/federation-protocol.md) | CT-inspired server protocol: API endpoints, gossip, storage tiers, receipts, security model. |
|
| [Federation Protocol Spec](architecture/federation-protocol.md) | CT-inspired server protocol: API endpoints, gossip, storage tiers, receipts, security model. |
|
||||||
|
|
||||||
|
## Planning
|
||||||
|
|
||||||
|
| Document | Description |
|
||||||
|
|---|---|
|
||||||
|
| [Why FieldWitness](planning/why-fieldwitness.md) | Problem statement, positioning, scenarios, and technical overview for non-technical audiences. |
|
||||||
|
| [C2PA Integration](planning/c2pa-integration.md) | C2PA bridge architecture, concept mapping, implementation phases, privacy design. |
|
||||||
|
| [Packaging Strategy](planning/packaging-strategy.md) | Hosted demo, standalone binary, mobile app, and onboarding flow design. |
|
||||||
|
| [GTM Feasibility](planning/gtm-feasibility.md) | Phased plan for credibility, community engagement, funding, and field testing. |
|
||||||
|
|||||||
@ -11,7 +11,7 @@ from fastapi import FastAPI
|
|||||||
|
|
||||||
app = FastAPI(
|
app = FastAPI(
|
||||||
title="FieldWitness API",
|
title="FieldWitness API",
|
||||||
version="0.1.0",
|
version="0.2.0",
|
||||||
description="Unified steganography and attestation API",
|
description="Unified steganography and attestation API",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ Part of the Soo Suite:
|
|||||||
- Attest: overt attestation, proving provenance and building decentralized reputation
|
- Attest: overt attestation, proving provenance and building decentralized reputation
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__version__ = "0.1.0"
|
__version__ = "0.2.0"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from .models import Attestation, AttestationRecord, Identity
|
from .models import Attestation, AttestationRecord, Identity
|
||||||
|
|||||||
@ -38,7 +38,7 @@ BASE_URL = os.environ.get("FIELDWITNESS_BASE_URL", "https://attest.io")
|
|||||||
app = FastAPI(
|
app = FastAPI(
|
||||||
title="Attest",
|
title="Attest",
|
||||||
description="Decentralized image provenance and attestation API",
|
description="Decentralized image provenance and attestation API",
|
||||||
version="0.1.0",
|
version="0.2.0",
|
||||||
docs_url="/docs",
|
docs_url="/docs",
|
||||||
redoc_url="/redoc",
|
redoc_url="/redoc",
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user