# Logmoth — Infinite scale logging

> Logging built on object storage.

Logmoth is built for large logs and agent traces: keep rich event payloads in object
storage, and query the smaller typed attributes that identify the events you need.
The hosted service provides instances, an event API, and a browser dashboard.

## Why Logmoth

- The size of logs has increased by 100x. Agent traces are larger than typical server logs.
- Probabilistic services require more logging. You can’t predict them, so you must observe them.
- Evals don’t cover it. You cannot anticipate how users will interact with your service.
  The model behind the API could be changing. You need to continuously monitor reality.
- Mistakes and errors must be explained. Your customers will require it. Your engineering team will require it.

## Principles

- Built on commodity, infinite-scale object storage
- Stable query performance at any scale
- Separates large log payloads from queryable attributes
- Low memory and compute requirements
- Simple, opinionated structure to prevent sharp edges

These are design principles, not latency guarantees. Individual instances have finite
compute, memory, and throughput. Measure representative workloads and handle backpressure.
Each attribute's type is fixed the first time it is used in a namespace; attributes are
indexed automatically within the limits in the service API reference. Payload JSON is not
automatically searchable.
The current API has no payload-promotion or retroactive indexing endpoint.

## Security and dedicated compute

- **US data jurisdiction:** logs are stored and processed in the United States, with
  US East (N. Virginia) and US West (N. California) regions available.
- **Separate read and ingest keys:** ingest keys cannot read log events; read keys
  cannot write them.
- **Zero-downtime key rotation:** multiple keys can remain active during a rollout.
  Create a replacement, move clients to it, then revoke the old key.
- **SOC 2 + signed DPA: pending.** SOC 2 and a signed data processing agreement
  (DPA) are pending.

Each instance runs on dedicated compute. You share nothing with other customers.

Yes, it's more expensive, but by O($50/month). Compute is not the bottleneck.
The plan determines the compute price.

Choose a plan by CPU and memory. Compute is prorated to the second while your instance
runs; storage is billed separately. Each month, you’re charged for the previous month’s usage. The
homepage calculator estimates storage only. See [plans and billing details](https://logmoth.com/docs/pricing.md).

## Start using Logmoth

1. Open [Logmoth](https://logmoth.com/) and sign in or sign up.
2. Signing up creates an organization with you as its owner. In the
   [dashboard](https://logmoth.com/dashboard/), the owner adds a payment method and creates an
   instance (up to 5 per organization) using a plan and region from the live catalog.
3. Wait for the instance to become running, then open it or create an API key.
4. Send events to that instance’s HTTPS origin with an ingest-scoped key. Use a separate
   read key for querying. Keep credentials on trusted servers, not in public browser code.
5. Use small typed attributes to find events and retrieve their large payloads on demand.

## Documentation

- [Pricing](https://logmoth.com/docs/pricing.md): managed billing and the storage calculator.
- [Service API and client guidance](https://logmoth.com/docs/agent-api.md): ingestion, querying, batching, bounded queues, retries, and limits.
- [Control plane API](https://logmoth.com/docs/control-plane-api.md): sessions, organizations, instances, keys, usage, and billing.
- [Complete agent reference](https://logmoth.com/llms-full.txt): all of these documents in one file.

Public documentation is available without JavaScript, cookies, or sign-in. The dashboard
requires a session. The service API uses instance API keys; the control plane uses browser
session cookies and CSRF tokens. These authentication mechanisms are not interchangeable.
