Skip to main content

Data Privacy

Woes is designed to keep customer-visible surfaces separate from operator-only and server-only data.

Customer-Visible Surfaces

Customer-visible surfaces include:
  • Widget messages.
  • Email replies.
  • Discord replies.
  • Survey prompts.
  • Public signed survey response pages.
These surfaces must never expose:
  • Raw API credentials.
  • Provider or model internals.
  • System prompts.
  • Operator-only debug traces.
  • Another workspace’s data.
  • Service-role diagnostics.

Credentials

API credentials, source auth settings, Bring Your Own AI provider keys, Stripe secrets, webhook secrets, and integration secrets must stay server-side and must remain separate from source documentation content, customer-visible messages, and model prompts. Source auth credentials are handled through the application’s secure credential mechanism; workspace REST API keys are shown once at creation, then stored only as hashes. Secrets must never be returned in plaintext after creation, included in model context, or exposed through customer-facing surfaces. Do not put credentials in:
  • Source documentation content.
  • Agent prompts.
  • Macros.
  • Survey messages.
  • Customer replies.
  • Screenshots in public docs.

Bring Your Own AI Provider Keys

Bring Your Own AI provider keys are customer-owned model-provider credentials. They are used only from server-side agent execution when the workspace is on the Bring Your Own AI plan and has an active provider. Woes returns only redacted provider-key status to the UI:
  • Provider name.
  • Active/inactive state.
  • Verification status.
  • Last verification time.
  • Last-four-character key hint.
  • Operator-safe error state.
Woes must never return the full provider key to customer-facing surfaces, browser widget code, REST API responses, public docs, or operator debug traces.

Stripe Billing Data

Stripe handles payment details, subscription billing, invoices, and payment methods. Woes stores only workspace-scoped billing references and entitlement state needed to enforce plan limits:
  • Stripe customer id.
  • Stripe subscription id.
  • Stripe subscription status.
  • Plan and add-on entitlement values.
Card numbers, Stripe secret keys, webhook signing secrets, and payment-method details are not stored in workspace settings.

AI Context

The support agent receives workspace-scoped context and sanitized customer fields. It should treat customer fields as hints, not API evidence. Endpoint claims, auth rules, schemas, fields, and response behavior must come from retrieved API context.

Logs And History

Workspace-visible logs and history are tenant-scoped and redacted before they are returned to the browser. They can include user/system activity and usage events such as public API calls or live API checks, but they must not expose raw API keys, bearer tokens, source auth secrets, request bodies, responses, provider internals, service-role details, or platform-admin audit internals. See Security Logs.
Last modified on July 3, 2026