Why the readable artefacts disappear
Each artefact the display chain leaves behind has a structural reason to be absent here.
- no ads.txtThat file authorises third parties to sell a publisher's inventory. An application selling only its own inventory has nothing to authorise.
- no wrapperA wrapper exists to collect competing demand inside a web page. There is no web page here to host one.
- no readable bid requestSelection happens inside the application's own systems, so no JSON body crosses a boundary you can watch.
- no separate creative documentThe unit is rendered by the application's own view layer rather than injected into a slot.
What can still be checked from outside
Still checkable
- Whether the unit is labelled as paid, and how prominent that label is against the surrounding content.
- Whether the platform operates a public library of running advertisements, and what fields that library exposes.
- The destination address after a tap, including appended parameters.
Not checkable, and no workaround exists
- Why this particular unit was shown to this particular person.
- What was paid, or what alternatives competed for the position.
- Whether the reported delivery count matches what a neutral observer would have counted.
The honest consequence for verification
Everything the display chain lets you confirm independently — who is authorised to sell, which systems touched the impression, what the deadline was — has no equivalent here. That is a property of the architecture, not a gap in your method. A claim about in-feed delivery is either accepted from the platform's own reporting or not accepted at all; there is no third path that an outside reader can walk.
Stating that plainly is more useful than a workaround that appears to verify something and does not.
Sources for these definitions
- IAB Tech Lab — ads.txt and app-ads.txt specifications. Source for what those files authorise, and therefore for why a first-party-only seller has no use for one.
- Prebid.org documentation. Source for the in-page role of a wrapper, which is the role that has no counterpart here.