# Concepts

> The mental model behind Lumin — five concepts and you have the whole product.

Canonical: https://docs.getlumin.dev/concepts/

Lumin is small on purpose. Five concepts and you have the whole product.

- **[Projects & API keys](https://docs.getlumin.dev/concepts/projects-and-api-keys/)** — the tenancy boundary. One project owns all the data ingested with its keys; an API key only ever writes to its project.
- **[Logs](https://docs.getlumin.dev/concepts/logs/)** — structured rows with `{timestamp, level, service, message, attributes, trace_id}`, live-tailable over SSE. Anything else your logger emits, a browser `session_id` included, travels in `attributes`.
- **[Metrics](https://docs.getlumin.dev/concepts/metrics/)** — Prometheus-shaped counters, gauges, and histograms scraped by the agent. The UI panels assume the canonical `http.requests` / `http.latency_ms` / `http.errors` schema.
- **[Checks](https://docs.getlumin.dev/concepts/checks/)** — HTTP uptime probes that run from Lumin's servers, not from the agent. Up, degraded, or down every 30 s to 15 min, charted on the dashboard home.
- **[Retention](https://docs.getlumin.dev/concepts/retention/)** — how long Lumin keeps your data and how old data is dropped.

If you want the *what-do-I-actually-type* version, go to the [Quickstart](https://docs.getlumin.dev/quickstart/). If you want the *how-does-it-fit-together* version, read on.
