What Belvedir stores
-
Traces are stored as your instrumentation sends them. Every exported span is kept, including prompt and completion text when your SDK or OTel setup emits it (the default). Spans are linked into sessions, and sessions are segmented into tasks; each task keeps a plain-text summary of its input and output. The Belvedir SDKs have no redaction switch: what your instrumentation emits is what is stored, so strip or omit sensitive content in your app before it reaches the exporter. The OpenClaw and Hermes plugins do have one: set
BELVEDIR_PRIVACY_MODE=truein the agent’s environment and their spans carry usage and structure only. - Trace data has no automatic expiry. Traces, sessions, and tasks are retained until you delete them; deleting a project removes its traces, sessions, tasks, and task groups with it. Usage records used for billing (model, token counts, cost) are kept, no longer tied to the project.
-
Batch inference results are retained for 29 days after a batch ends, then purged (the batch’s counts and spend remain). To remove results sooner, delete the ended batch with
DELETE /api/v1/messages/batches/{id}; it accepts any ended batch of the project, whichever endpoint created it./api/v1/route/batcheshas no delete of its own. See Batches. - Routed and passthrough inference is metered, not traced. Belvedir records the model, token counts, and cost for billing. Inference traffic only appears as traces if you instrument your app with the SDK and export spans; the two are independent.
- Daily graphs follow your time zone; billing follows UTC. The dashboard cuts its per-day graphs (Home, Usage, Billing, Validation) into calendar days in your time zone, detected from your device or set under Account → Time zone. Each graph says which zone it is using. Usage is billed in UTC, so billing periods never move with the viewer.
Which models can touch a project’s data
- Serving is constrained by enumeration. The router only ever picks models named in the project’s routing config: the Big, Medium, and Small tiers, per-task-group assignments, and, with Automatic updates on, the model Belvedir recommends for a task group (see Model routing). Turning Smart routing off narrows further: every call is served exactly the model it names, with no substitution ever. There is no separate provider-allowlist policy; you constrain the model set by what you put in the config and what your code names.
- The Chinese models permission is a hard gate, and it covers Belvedir’s own models too. With it off, no Chinese-lab model (Qwen, GLM, DeepSeek, Kimi) can serve the project’s traffic on any surface (routing, the Anthropic passthrough, batches); they disappear from the dashboard’s pickers, can’t be saved into a router, are refused with a clear error when a call names one, and training never uses one as a base. Belvedir’s own analysis models read the project’s traces; with Chinese models off, those are non-Chinese models too.
- You can keep execution on your own accounts. Per-model endpoint registrations under Cloud Inference make routed calls for those model ids execute on your own OpenAI-compatible upstream (your own gateway, provider account, or proxy) with your key. Those calls are metered for observability but never billed by Belvedir.
- Hosted open models run only on providers that meet Belvedir’s data-retention requirements.
What trains on a project’s data
- Training data never leaves the project. Fine-tuning datasets are built exclusively from the project’s own tasks, and the resulting model belongs to that project. There is no cross-project or platform-global training on customer data.
- Nothing trains unless the project starts it. Training runs are launched explicitly from the dashboard or CLI. Auto-training exists but is off by default and repeats only a configuration a completed manual run already used, on the schedule or trace threshold the project sets.
- Three more per-project gates apply to every run, automatic or manual: the Model training permission turns training off entirely; the Data sources selection in the Training setup wizard’s first step (Receive traces) restricts which API keys’ traffic is eligible (leaving every key selected means all of the project’s own traffic); and sessions you report as
"fail"via outcomes are excluded from training data. - Training compute is selectable. Runs execute on the managed fleet by default (training data is sent there for the run); the setup wizard’s Private (our GPUs) option keeps training data on Belvedir’s own hardware instead.
The per-project controls at a glance
For contractual questions beyond platform behavior (data-processing terms, subprocessors, compliance attestations), contact us via Speak to sales on the Billing page.