Body capture attaches request and response payloads to the network breadcrumbs
that recorded them. The React Native SDK ships no JavaScript network
instrumentation — no fetch or XMLHttpRequest patching — so there are no
network breadcrumbs to attach bodies to, and nothing is captured.
networkBodies.disabled is accepted by the provider config and is inert
here. It is not a veto over something that would otherwise happen; there is
nothing to veto. Setting it changes no behaviour, and leaving it unset does not
enable capture.
Nor does anything arrive from below the bridge by default. Native network
capture is opt-in per client on both platforms — a URLSession you configure
with the iOS SDK’s capture protocol, an OkHttpClient you build with the
Android SDK’s interceptor — and React Native’s own fetch never goes through
either.
What you do get
- Anything you record yourself. If a failing request matters to triage, add the details you need as a custom breadcrumb:
const { addBreadcrumb } = useTraceItX();
addBreadcrumb({
message: 'POST /api/cart failed',
kind: 'custom',
level: 'error',
data: { status: 500, code: 'cart_empty' },
});
Put the identifiers in data, not the whole body — you control exactly what
leaves the device, which is the part body capture is careful about anyway.
Elsewhere
The React SDK on the web implements body capture in full, with a content-type allowlist and byte budgets. See Server config for the gates that govern it there.