> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apsio.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Remote configuration

> Change sampling, capture and masking for an app without a release, and stop collection in an incident.

Every Apsio SDK fetches a small policy for its app at launch and every 15 minutes while the
app is in the foreground. Changing the policy changes what devices collect, with no app
release.

## What the policy controls

| Setting | Default | What it does |
| - | - | - |
| Session sampling | 100% | The share of sessions whose detail (spans, logs, replay) is sent. Crashes, errors and session counts are always sent, so crash-free rates stay exact. |
| Replay | On | Turns session replay off without a release. |
| Network spans | On | Turns HTTP spans off. |
| Minimum log level | Info | Drops logs below this level on the device. |
| Text masking | All text | Can mask more than the app does in code, never less. |
| Session length | 30 minutes in the background, 4 hours in total | When a new session starts. |
| Kill switch | Off | Stops collection on every device and drops what is queued. |

A policy can only narrow what the app's code turned on: it never turns on capture that the
app turned off, and never unmasks what the app masks.

Replay and text masking apply to session replay, which no Apsio SDK ships yet.

## How fast a change arrives

A change reaches the edge within about two minutes. Each device then picks it up at its
next fetch: the next launch, or within 15 minutes while the app is open. Devices that are
offline keep using the last policy they received.

## Disabling an app

Disabling an app turns its kill switch on at once, whatever its policy says, and the
ingest endpoint stops accepting its data. Enabling it again restores the policy.

## What your plan adds

Two states of your organization override the policy at the edge, for every app:

* **At your plan's cap** (the trial's 25k sessions, Solo's 10k, or the spend cap you set on
  Pro), session sampling is served as 0%: new sessions send no detail, while crashes,
  errors and session counts keep flowing. Your own sampling rate comes back when the cap
  lifts. See [Pricing](/pricing#caps-and-alerts).
* **When the trial ends** without a plan, the kill switch is on, and the ingest endpoint
  answers `402`.

A disabled app or a suspended organization outranks both.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.