# Projection protocol and visualization surfaces

Keebdisplay should not know about any one product, task tracker, cloud, or private system. It renders generic, least-privilege visualization projections produced by adapters in other processes.

## Design goals

- Keep data-source security boundaries outside the display engine.
- Support many visualization surfaces, not only keyboards.
- Make projections stable and typed.
- Keep raw operational data out of renderer processes unless explicitly needed.
- Fail closed when freshness or redaction policy says a projection is not safe for a surface.

Public DTOs live in pkg/displaymodel and include snapshots, stream frames, surface capabilities, subscription requests, subscription acknowledgements, and registered subscribers.
