Skip to content

Security and retention

What engineers and DPOs ask before connecting Rubi, answered precisely.

Retention#

DataDefaultSetting
Sessions, transcripts, reports60 daysretention_days
Video and audio recordings30 daysstream_retention_days

Both are configurable per organization in Settings. When a recording expires its media is purged and the track status becomes purged. Deleting an interview with DELETE /v1/interviews/{id} removes its media and transcript right away.

Media access#

  • Recordings are uploaded in 10 second chunks over presigned URLs, then assembled and published with signed playback.
  • POST /v1/interviews/{id}/playback returns short lived URLs with expires_at and refresh_after_ms. A leaked URL stops working within minutes.
  • Share links are opt in, expire, and can be revoked at any time.

Isolation and encryption#

  • Every row is scoped to one organization. API keys cannot cross tenants, and the AI learning memory is per organization.
  • TLS 1.2 or later in transit. Databases, object storage and integration credentials are encrypted at rest.
  • API keys are stored as SHA-256 hashes. Webhook secrets and integration keys are only displayed on creation.

Integrations#

Connectors are read only and use HTTPS base URLs only. Restrict access to Rubi's egress ranges, and rotate your key at any time by pasting the new value in the dashboard.

Audit#

The audit log records actions by users, API keys, the system and traders with the entity, metadata, IP and time. Read it in the dashboard or with the audit:read scope.

See the security overview for architecture and subprocessors.