The reporter snapshots the active key UIWindow the moment it opens, so it
shows exactly what iOS rendered — UIKit views, SwiftUI content and anything else
drawn in the window.
Annotation tools
| Tool | Draws |
|---|---|
pen | Freehand. Five colours, three thicknesses. |
highlighter | Translucent freehand. |
rect · ellipse | Outlined shapes for circling a control. |
arrow | Points at the thing that broke. |
text | A label. Three sizes. |
redact | Draws a blur-kind shape — see below. |
pointer | Select, move and resize existing marks. |
The palette and sizes are identical across every TraceItX SDK, so a report looks the same whichever platform filed it. The reporter and its tools are iOS and iPadOS only; on tvOS reports are filed from the companion.
Redaction is baked, not overlaid
A redact shape is rendered opaque into the image bytes before upload — not
stored as a region for a viewer to honour. The pixels underneath are gone by the
time the report leaves the device.
An overlay is a request; a bake is a guarantee. If a user blurs their bank balance, no receiver and no support engineer can recover it, because it was never uploaded.
The same applies to views passed to markSensitive(_:), masked before the
screenshot is taken at all. See Sensitive content.
In the envelope
kind | What it is |
|---|---|
screenshot | A shot the user left untouched. |
annotated-screenshot | A shot the user drew on — the baked result, with drawings and redactions applied. |
Each shot ships once, as one kind or the other; the clean pixels under an
annotated shot never leave the device. payload.annotations and
payload.redactions record the vector shapes alongside. Redactions cannot be
undone, by design.
What comes back blank
Secure text fields (isSecureTextEntry) are treated as sensitive by the SDK and
painted black, whether or not you marked them. DRM-protected video comes back
blank because iOS refuses to render it — which is why a video player screenshot
often shows the chrome but not the frame.
Metal and OpenGL layers snapshot correctly through the window capture, so a game or a map view is included.