Confluence Connector - Security — Unique AI Documentation

Confluence Connector - Security

4 min read

Overview

This document describes security practices, update policies, and data handling properties of the Confluence Connector.

Security Updates

Security update cadence and release lifecycle expectations follow the canonical Upgrade and Release Process. Review this policy when planning upgrade windows and patch rollouts.

Security Reports

If you identify a potential vulnerability, report it through your standard Unique support/security contact and include connector version, affected tenant/environment, and reproduction details. Release handling expectations follow the Upgrade and Release Process.

Security Architecture

Security Principles

Read-Only Confluence Access

The connector only reads content from Confluence. All Confluence API calls use the GET method. No write, update, or delete operations are performed against Confluence.

See Permissions for the full list of API endpoints and their justification.

Authentication

See Authentication for setup and token flow details.

Secret Management

Secrets are protected through multiple layers:

See Authentication -- Secret Resolution for the full resolution mechanism and supported fields.

Diagnostics Data Policy

Page and attachment titles are partially masked in logs by default to prevent accidental exposure of sensitive content.

Policy Behavior
conceal (default) Partially masks diagnostic data (emails, usernames, IDs, titles)
disclose Logs diagnostic data in full

The policy is controlled by the LOGS_DIAGNOSTICS_DATA_POLICY environment variable (default: conceal in the Helm chart).

Transport Security

Tenant Isolation

The connector tags the root scope with an identifier derived from the Confluence instance on the first sync cycle. On every subsequent sync cycle, this ownership mark is verified before content is ingested. A mismatch aborts the tenant sync cycle, preventing the same Confluence instance from being connected to multiple Unique organizations, or the same root scope from being reused across different Confluence instances by accident.

See Flows -- Root Scope Ownership Validation for the full verification flow.

Data Handling

Compliance Considerations

Data Residency

Audit Logging

All operations are logged with:

Access Controls

Control Implementation
Authentication OAuth 2.0 (2LO) client credentials (recommended) or Personal Access Token (Data Center below 10.1 only)
Authorization Read-only Confluence access; scope management and ingestion access on Unique
Audit Structured JSON logging
Encryption TLS in transit
Secret protection Environment variable resolution, in-memory wrapping, log redaction
Diagnostics masking Partial masking of titles and identifiers in logs

Best Practices

For Operators

  1. Use environment variable resolution for all secret fields and inject values via Kubernetes Secrets
  2. Set diagnostics data policy to conceal (the default) in production to mask diagnostic data in logs
  3. Provide custom CA certificates if running in environments with corporate proxies or custom PKI
  4. Use OAuth 2.0 (2LO) instead of PAT -- OAuth tokens expire and are automatically refreshed, while PATs are static and must be manually rotated
  5. Review Confluence access grants periodically to ensure the connector's service account has read-only access to only the required spaces
  6. Monitor logs for authentication failures and anomalies
  7. Update promptly when security patches are released

For Security Teams

  1. Audit secret injection -- verify that Kubernetes Secrets are the source for all credential values
  2. Verify non-root execution -- confirm the container runs as a non-root user
  3. Review tenant configurations -- ensure no secrets are hardcoded in YAML files
  4. Check diagnostics data policy -- confirm masking is enabled in production
  5. Test in staging before production updates.