Skip to content
Scalpels home

Scalpels is officially launching on October 31, 2026. Special early adopter pricing is available now.

← All documentation

Documentation

Telltale

Managing apps

Updated

Telltale's dashboard, at /dashboard on your deployment, manages the apps that report to it. It is deliberately small: analytics stay in MCP, and this screen only manages ingest and shows recent ingest health.

An app in Telltale is one product you ship, such as your NativePHP mobile app. Every install of that product on every device reports into the same app.

Create an app

Enter a name (up to 255 bytes of text) and select Create app. Telltale creates the app with the server's default per-app rate limit and daily event caps (see Configuration) and shows its ingest value.

The value starts with tti_ and appears in that one response only. Refreshing or navigating away cannot recover it, and the response is sent with no-store caching headers. Copy it straight into your app's build environment as TELLTALE_INGEST.

The app list on the left shows up to 100 apps, each with the time of its latest retained event, or "No retained events" if none remain.

The ingest value

Each app has one public, write-only ingest value. It is safe to ship inside a NativePHP build:

  • It can only register new installs for its app and is never accepted on the dashboard or the MCP server. A request to those surfaces carrying an ingest value or install token is refused with 403.
  • Telltale stores only its hash.
  • After registration, each device uses its own per-install token for ingest, so one compromised device can be revoked without affecting the others; see Privacy and data.

Rotate the ingest value

Select an app, then Rotate ingest value. Rotation immediately invalidates the previous value, and the replacement is shown once in the response.

Rotate when the value is lost or you want to stop new installs from an old build registering. Bear in mind:

  • Devices that have already registered keep sending with their own install tokens; rotation does not cut them off.
  • Any build that still carries the old value can no longer register new installs, or re-register an install whose token was cleared. Ship a new build with the new value.

The rotate_ingest_key MCP tool does the same thing from an agent, after a preview and confirmation.

Ingest health

The selected app shows its ingest health for the last 30 days:

  • Known app-attributed rejections: requests Telltale could tie to the app but refused, such as malformed JSON, too many events in one batch, a newer envelope version than the server supports, or the daily event cap being reached.
  • Known app-attributed rate-limit hits: requests refused by the per-app or per-install rate limit.
  • Client-reported drops, all time: events devices discarded from their local outbox before delivery, because it was full or the events were older than 30 days.
  • Recently seen client versions: the client package versions that reported in the window.

Requests that fail before Telltale can identify the app, such as a wrong ingest value or the per-IP limit, are not counted here. The ingest_health MCP tool returns the same figures for any window up to 90 days.