Security and data handling

Read-only access, no stored secrets, role enforcement, retention, and the guarantees a security reviewer will ask about.

The short version, because it is what reviewers ask first: Flux reads. It never writes to your cloud.

Access model #

Flux authenticates to your cloud with a managed workload identity. There is no secret in its codebase, none in configuration, and none to rotate manually.

The identity holds read permissions only. There is no code path in Flux that resizes, deletes, purchases, or re-tags anything. Recommendations are evidence for a human decision; acting on them happens through your normal change process.

People and roles #

Authentication is Microsoft Entra ID — no password is stored by Flux. Authorization is two application roles:

  • Flux.Reader — analysis, reports, exports, assistant
  • Flux.Admin — the above, plus configuration, synchronization, and review

Role enforcement is server-side. A reader cannot trigger a privileged action by crafting a request; the API rejects it regardless of what the interface offers.

Data handling #

Data Handling
Cost, inventory, telemetry Retained as versioned analytical history
Assistant prompts and replies Configurable window, typically 30 days
Model reasoning Never retained
Assistant usage metadata Pseudonymous, same window
Demo or contact submissions Only what was submitted

Snapshots are stored in private storage, reachable only by the platform identity.

The AI boundary #

Flux Intelligence has no database connection, no credentials, and no ability to write or execute a query. It can call only a fixed catalogue of bounded, authenticated, read-only tools, and requests carrying SQL-shaped arguments are rejected at the tool layer.

It is autonomous in deciding what to look at, and has no tool available that changes anything — there is no path to bypass, because the path does not exist.

See How the assistant is bounded.

Web application security #

  • Content Security Policy with script-src 'none'. The marketing site carries no inline or external script, so the strictest possible policy costs nothing.
  • X-Content-Type-Options: nosniff, Referrer-Policy: strict-origin-when-cross-origin, and frame protection.
  • HTTPS throughout.
  • CSV exports are protected against spreadsheet formula injection.

Guarantees enforced in code #

These are covered by automated tests, not stated as intentions:

  • One writer owns all analytical mutation
  • Successful source data survives partial failures
  • Missing telemetry is never classified as idle
  • Readers cannot start or configure synchronization
  • Recommendations retain source and method-version evidence
  • No arbitrary SQL is executed, ever
  • Remediation stays human-approved and separate from evidence generation

[!NOTE] Ask for the evidence Any of the above can be demonstrated during an evaluation rather than asserted. The failure behaviours in Architecture are exercised deliberately.