Metadata-Version: 2.4
Name: civic-transparency-spec
Version: 0.2.1
Summary: Civic Transparency specification schemas
Author: Civic Interconnect
License-Expression: MIT
Project-URL: Documentation, https://civic-interconnect.github.io/civic-transparency-spec/latest/
Project-URL: Homepage, https://github.com/civic-interconnect/civic-transparency-spec
Project-URL: Repository, https://github.com/civic-interconnect/civic-transparency-spec
Keywords: civic,transparency,jsonschema,specification
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: build; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: mkdocs; extra == "dev"
Requires-Dist: mkdocs-git-revision-date-localized-plugin; extra == "dev"
Requires-Dist: mkdocs-include-markdown-plugin; extra == "dev"
Requires-Dist: mkdocs-material; extra == "dev"
Requires-Dist: mkdocs-minify-plugin; extra == "dev"
Requires-Dist: mkdocs-static-i18n; extra == "dev"
Requires-Dist: mkdocstrings[python]; extra == "dev"
Requires-Dist: mike; extra == "dev"
Requires-Dist: check-jsonschema; extra == "dev"
Requires-Dist: jsonschema; extra == "dev"
Requires-Dist: openapi-spec-validator; extra == "dev"
Requires-Dist: PyYAML; extra == "dev"
Dynamic: license-file

# Civic Transparency Schemas (README.md)

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)

> JSON Schema definitions for privacy-preserving social media transparency APIs.

## Schemas

| Schema | Purpose | Status |
|--------|---------|--------|
| [`provenance_tag.schema.json`](./src/ci/transparency/spec/schemas/provenance_tag.schema.json) | Per-post behavioral metadata | Draft |
| [`series.schema.json`](./src/ci/transparency/spec/schemas/series.schema.json) | Aggregated time series API responses | Draft |
| [`transparency_api.openapi.yaml`](./src/ci/transparency/spec/schemas/transparency_api.openapi.yaml) | REST API specification | Draft |

## Implementation

1. Generate provenance tags when posts are created
2. Aggregate tags into time buckets with k-anonymity (k≥100)
3. Expose aggregated data via REST API

See [API documentation](./src/ci/transparency/spec/schemas/transparency_api.openapi.yaml) for complete specification.

## Privacy

- All responses maintain k-anonymity (k≥100)
- Individual posts and users are never exposed
- Rare categories (<5%) are grouped as "other"
- Geographic data limited to country-level

## Versioning

This specification follows semantic versioning.
See CHANGELOG.md for version history.

## License

MIT
