Versioned URL
startUrl must contain the exact semantic version in its path or query. Never overwrite files under a released version.
https://apps.example.com/my-app/v1.4.0/index.htmlTextxt treats Mini App content as untrusted. Every executable resource must stay on one public HTTPS origin, pass policy checks, and reproduce the archived digest at approval and during health monitoring.
startUrl must contain the exact semantic version in its path or query. Never overwrite files under a released version.
https://apps.example.com/my-app/v1.4.0/index.htmlHTML, JavaScript, CSS, module imports, and executable preloads must use the startUrl origin. Bundle framework and SDK files with the release.
DNS and every redirect are checked. Localhost, private, link-local, reserved, internal, and metadata service addresses are rejected.
Send CSP as an HTTP response header. A meta tag cannot provide frame-ancestors. Do not send X-Frame-Options: DENY or SAMEORIGIN.
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; connect-src https://api.example.com; frame-ancestors https://textxt.com https://textxt-14209.web.app; object-src 'none'; base-uri 'none'; form-action 'self'
External script hosts, wildcard script sources, data: scripts, unsafe-eval, wasm-unsafe-eval, base tags, service-worker registration, embedded private keys, and known obfuscation/miner patterns fail automated verification.
{
"headers": [{
"source": "/my-app/v1.4.0/**",
"headers": [{
"key": "Content-Security-Policy",
"value": "default-src 'self'; script-src 'self'; frame-ancestors https://textxt.com https://textxt-14209.web.app; object-src 'none'; base-uri 'none'"
}]
}]
}location /my-app/v1.4.0/ {
add_header Content-Security-Policy
"default-src 'self'; script-src 'self'; frame-ancestors https://textxt.com https://textxt-14209.web.app; object-src 'none'; base-uri 'none'" always;
}bridge.reportError({ name, message }) for recoverable failures. Unhandled iframe/WebView and Bridge failures are also counted by Textxt.