The example apps list now includes one high-volume third-party Google Play app, so the demo run's non-empty result no longer depends on Apple's public feed (which intermittently refuses to serve data) or on our own low-traffic apps.
The zero-config demo input now keeps its state in the run's own storage instead of the shared named store, so pressing Start with nothing configured returns reviews every time rather than going quiet once the first run has been remembered. Changing anything that shapes the output — apps, countries, maxReviewsPerApp, onlyNew, a rating filter, or stateStoreName — switches back to the persistent named store and true incremental behaviour. A demo run is capped at 10 reviews per app and says so in its run note.
Output: .actor/dataset_schema.json now declares a full draft-07 field schema, so the dataset renders as a documented table and the Actor satisfies the Store's output-schema requirement.
Security: webhookUrl is validated against an SSRF guard at input time and again immediately before the POST. Loopback, private, link-local, cloud-metadata and internal hosts are refused in every notation (0xa9.0xfe.0xa9.0xfe, 0251.0376.0251.0376, 127.1, 0177.0.1, ::1, ::ffff:127.0.0.1, localhost, *.internal), as are embedded credentials and non-standard ports. Outbound requests no longer follow redirects blindly: at most three hops, each re-checked.