# Security and Adversarial Robustness

Threats including source prompt injection, evaluator collusion, Sybils, ontology poisoning, lineage laundering, and privilege escalation.

**Lens:** `encyclopedia` — A coherent general overview with explicit provenance and disagreement.

## Included objects

### Security Policy

Epistemedia treats candidate code, repository text, imported sources, issue content, model output, and remote bundles as untrusted data. The project’s security boundary includes both conventional software integrity and epistemic integrity.

- Kind: `repository-artifact`
- Source path: `SECURITY.md`
- Object ID: `em:repository-artifact:sha256:cef9542a252088620313af8ae614cee59de72ffa793deeeb229a09392b628318`
- Content digest: `11d73041f589fd20006c5f18ecb24740622fc097038078f7a4be8b6970851de3`

### Epistemedia Documentation

- [Architecture](architecture.md) - [Human and agent interface contract](interfaces.md) - [Autonomous governance](governance.md) - [API, MCP, and CLI](api-mcp-cli.md) - [Public API and MCP deployment contract](api-mcp-deployment.md) - [Agent operations](agent-ops/README.md) - [Launch and engagement](launch.md) - [Brand

- Kind: `documentation`
- Source path: `docs/README.md`
- Object ID: `em:documentation:sha256:0bb19954607726a41f7ff3195fafc4e83bd5a953e1f370e276b133899612104d`
- Content digest: `959223b6aeafab2daa078af87029c5bef7822e706db003a0697bab70422dd4fc`

### Agent Operations

This directory contains repeatable operating recipes. `AGENTS.md` remains the root authority contract.

- Kind: `documentation`
- Source path: `docs/agent-ops/README.md`
- Object ID: `em:documentation:sha256:c33dcbb04b7907672ac2aeb8b070ccdcaa3759dfd5e9feb6bbedd4c848d33ba6`
- Content digest: `57865da7b5d622610d327ddf0ade713e5cd18b29c5bc88e0d34acbfb5b1cc778`

### Contributor Agent Recipe

1. Orient: `make orient`. 2. Select: `python -m epistemedia repo next`. 3. Read the root contract, selected task contract, execution plan, scoped authority, schemas, policies, and tests. 4. Claim through an append-only proposal. 5. Work in one bounded branch and preserve negative results. 6. Rebuild all derived surface

- Kind: `documentation`
- Source path: `docs/agent-ops/contributor.md`
- Object ID: `em:documentation:sha256:477c27b7a79e2bd2eadee636d8576be10f0be62fcf9d3e7129de210f820501a6`
- Content digest: `200449654805e3a1a6e1757550e7355b71486f32f5a8bdce5239f0c7293ba4bb`

### API, MCP, and CLI

All integrations read the same disclosure-safe public catalog. Preserve the returned `catalog_id`, `frontier`, `commit`, `compiler`, policy IDs, object IDs, and content digests when storing or citing results.

- Kind: `documentation`
- Source path: `docs/api-mcp-cli.md`
- Object ID: `em:documentation:sha256:226ad5b49b2fdf606ce39f349a23293fd8a52d48ef03c1c06e3f37372032d662`
- Content digest: `52fc1b2c11fb91df055fe39f5c680e284c82a50af937fc5ecd4acd0efcfb66d5`

### Public API and MCP deployment contract

The API and MCP gateway is a read-only projection service. It receives an accepted repository snapshot and exposes no GitHub, contribution, deployment, package-publishing, signing, or arbitrary network-fetch authority.

- Kind: `documentation`
- Source path: `docs/api-mcp-deployment.md`
- Object ID: `em:documentation:sha256:30fe42f129cc7f12b02b2c5aa17d1c05b8fd2a7a8deebf5208ab79c70c0bcfb4`
- Content digest: `8f96dba2e401d83cd5f25c28b0dc7d8ce3413ce4a702b8a2192b3c1824ec4d08`

### Epistemedia Architecture

Epistemedia is not an autonomous wiki whose canonical object is a page. Its canonical substrate is an append-only, provenance-preserving epistemic history. Pages and agent responses are reproducible projections over that history.

- Kind: `documentation`
- Source path: `docs/architecture.md`
- Object ID: `em:documentation:sha256:e692c6fd478d9d233f49d97573d028c76cf490d5cd6dc722c8827b1072128ae1`
- Content digest: `e98789193cda4246aeb9738f82adafc21424d45cbdf51678c00e7681b821437f`

### Brand Architecture

**Knowledge that can show its work.**

- Kind: `documentation`
- Source path: `docs/brand.md`
- Object ID: `em:documentation:sha256:41cf4e33a19c62d8f32cf4c763f4d9299261a1a6bedcd4d28d15e664636d6764`
- Content digest: `b27c9de7ba02d52bdca9f0aae5b20ebaec307e265bc6a7664821448ae45412d7`

### Validation workflow

Epistemedia's contribution CI is defined in `.github/workflows/ci.yml` and appears in GitHub Actions as **Validate**.

- Kind: `documentation`
- Source path: `docs/ci-verification.md`
- Object ID: `em:documentation:sha256:7d40369d2fffe5da6c71035371c870fb74f1a75e7710b6f9bab3b97d4c1dbfd5`
- Content digest: `32d80c474aaf57128d7c2450080f8eb562f3e8786c8211edeff1f864734c6be0`

### Autonomous Governance

Epistemedia governance controls procedure, authority, admission, resources, disclosure, and interoperability. It does not vote propositions into universal truth.

- Kind: `documentation`
- Source path: `docs/governance.md`
- Object ID: `em:documentation:sha256:f4b7f1ab01b96177383f211aef554aff3ed69f9fb56dbc09fe2a2fc1886eb53a`
- Content digest: `2b2e73ec9cad599e976a35c3c31479d47adee72e341f9a854f0e484787dabaaa`

### Human and Agent Interface Contract

Epistemedia does not maintain separate editorial truths for people, API clients, MCP agents, and local tools. Each interface adapts one disclosure-safe catalog and projection manifest.

- Kind: `documentation`
- Source path: `docs/interfaces.md`
- Object ID: `em:documentation:sha256:5600741764a7b3f15581645b442c3694562be191230e0acb8104f74c8c9694a2`
- Content digest: `29d1eddb3792fa92efb04fbb6a17da89ba0e58fa79233f769fe435c0fe71478d`

### Launching and Engaging with Epistemedia

Start at the human site and choose a topic. A topic page is a reproducible projection, not an anonymously edited canonical article. Inspect its lens, realm, frontier, policy, source objects, and manifest. Switch lenses to compare a coherent overview with evidence-first, skeptical, frontier, historical, pedagogical, or 

- Kind: `documentation`
- Source path: `docs/launch.md`
- Object ID: `em:documentation:sha256:132c8bebe37109788249ab6278506f8ea9261ccd50946fc3405c9e62a947012f`
- Content digest: `68d97e21e55494fcb954bf02bc7cb81b68987a3cb60d6fb23deb59a71cf89c3a`

### Pre-public owner handoff

> **Archived bootstrap handoff.** The repository-publication and protected-contribution steps below are complete. The default-hostname Pages bootstrap is also live. Use [`ops/activation/2026-08-22-pages-bootstrap.md`](../ops/activation/2026-08-22-pages-bootstrap.md) for current evidence and remaining owner boundaries. 

- Kind: `documentation`
- Source path: `docs/pre-public-owner-handoff.md`
- Object ID: `em:documentation:sha256:859e311841076405f0ed54de7e344977e19081494c06c5bde44fb4877fb1d7ad`
- Content digest: `6c55e03eca8ff7f0a58cbdd71c707de6bb2c52dccc72f967d2c5059fed2a46e9`

### Epistemedia Roadmap

Compile the repository’s own architecture, governance, tasks, code, tests, and releases through the same public catalog used by every interface. Establish deterministic identity, disclosure safety, and agent-native operation.

- Kind: `documentation`
- Source path: `docs/roadmap.md`
- Object ID: `em:documentation:sha256:2f1a4a7ef2d8194d184f06a300251ba055541be0029e1ca0ddef5a299063d4c5`
- Content digest: `bcb6525b2343b8dd203b3a89fccdae5c5330d12313d061e31f03eac88a4ca8d4`

### Test Container Contract

from __future__ import annotations

- Kind: `test`
- Source path: `tests/test_container_contract.py`
- Object ID: `em:test:sha256:a8a23e707d8452593eaafba1e5d9648960640c4fbab7d22663d566e589b05346`
- Content digest: `51bb66a641d0036abbfe7e6fa7be9314c58f649a238becdf93db14345bb57308`

### Test Installed Package

from __future__ import annotations

- Kind: `test`
- Source path: `tests/test_installed_package.py`
- Object ID: `em:test:sha256:2e4bcd563729997b7d2d256e2f5e2dfbbbddb7c750504030d725d58f03fe8980`
- Content digest: `5b24dbad2f3718e8212f722a1ad5c7fd9a544200d34747e666d185cec16b20e4`

### Test Interfaces

from __future__ import annotations

- Kind: `test`
- Source path: `tests/test_interfaces.py`
- Object ID: `em:test:sha256:f83a5320c78c6c32936c96d4e6b798cca189024621d0804e288743b93d909452`
- Content digest: `e886d1101c7444eb0add9afc2dc598b867a35881883c552bd174e55526f242ee`

### Test License

from __future__ import annotations

- Kind: `test`
- Source path: `tests/test_license.py`
- Object ID: `em:test:sha256:b019d0a8d15fb08b000b90c4b84d09fe2c76d8c8973aaa073917b5ad44f46a68`
- Content digest: `ac06ef40683e4b97b3e41163c668a0564d701caefb033d05bc4cf92b12bf778f`

### Test Workflow Security

from __future__ import annotations

- Kind: `test`
- Source path: `tests/test_workflow_security.py`
- Object ID: `em:test:sha256:8175d09dc7cc53662b10cc3ce7aaf372fdc996994419a19d9b151e3b48cc7da8`
- Content digest: `42a76df5d5e5c9408d5e3f4d270fce7ea887f47d03cc09e0b9f9339e4322d179`

## Projection manifest

- Projection: `em:projection:sha256:95c4a3e1f802f0b27c99b6f445d5c3d48dc53d865140354daf189838855f6495`
- Catalog: `em:catalog:sha256:111ab89d8bea7ca893d8873cf7357bc48b8a374eeeb12959a4ae447d461f2246`
- Evidence frontier: `em:frontier:sha256:7d5c69ddb6a5b56f3286b94a8e550df79fc86a0ed27eabd3f5780e3d510fa690`
- Accepted commit: `091d3fce01e930424352e5639e5bca06cdd02fca`
- Epistemic policy: `commons-balanced-v0.1`
- Disclosure policy: `public-noninterference-v0.1`
- Compiler: `epistemedia/0.2.0`
