Skip to main content
Batoi UIF Docs

Security and Privacy

Protect browser-side data, API keys, exports, and production service boundaries.

Version 2.3.0 Active framework documentation Reviewed Jul 21, 2026 Next review Oct 21, 2026

Owner: Batoi Engineering Reviewed by: Batoi UIF Maintainers Source revision: 16e144d

Browse Batoi UIF Documentation Security and Privacy

Security and Privacy

Governed Crawling and Export Boundary

Batoi UIF does not crawl arbitrary websites or bypass browser origin controls. Website discovery, crawling, credential use, content authorization, SSRF protection, robots and permission policy, and XML export belong on a governed server boundary. Browser components may collect an approved URL, show progress, and render returned results, but they must not be presented as a way around CORS or source permissions.

Batoi UIF can power browser-only tools, but production use needs clear security boundaries.

Security Boundary Diagram

Browser-only local files in-memory state user exports Governed Proxy auth and audit provider secrets policy controls explicit submit only

Browser-Only Data

For examples such as Data Visualization, local data should stay in the browser unless the user explicitly submits it.

API Keys

Do not persist provider keys in browser storage.

For production AI interfaces, use a backend proxy.

Exports

Exports should be user-initiated.

Examples:

  • JSON project file
  • CSV register export
  • SVG chart
  • generated CSS
  • generated HTML

Server Integration

When a Micro App talks to a server, define:

  • authentication
  • authorization
  • validation
  • audit
  • rate limiting
  • error handling

UIF 2.1 Browser Controls

  • Trusted and sanitized HTML are separate contracts; server-rendered partials remain trusted server output.
  • URL, selector, navigation, service-worker, and remote-data paths use explicit safety policies and same-origin defaults.
  • Requests compose cancellation signals, bound retries, and avoid implicit mutation retries without an idempotency contract.
  • Tables, editors, realtime feeds, AI responses, MCP reviews, RAD envelopes, offline queues, and persisted state enforce browser-side limits.
  • Service-worker caches exclude authenticated/private responses by default, and offline tasks must be explicitly idempotent.
  • AI and MCP packages render review UI only. Database, filesystem, deployment, email, payment, credential, tool, permission, and audit authority stays on the governed backend.

The full package classification is published with the asset snapshot in security-boundaries.json. These browser controls are defense in depth and do not replace server authorization, validation, CSRF protection, rate limiting, or audit logging.