Authentication & Access Control

Rankability uses a layered security model to protect user accounts, enforce tenant isolation, and manage API access. Every access path follows a fail-closed design — if something goes wrong with authentication, access is denied by default.

User Authentication

User authentication is managed by Clerk, a SOC 2 Type II certified identity provider. Rankability does not store passwords or manage authentication sessions directly.

Clerk provides:

  • Secure sign-in with email and social providers
  • Multi-factor authentication (MFA) support
  • Session management with automatic expiration
  • Organization-based team management

Multi-Tenant Isolation

Every piece of customer data in Rankability is scoped to an organization:

  • Organization IDs are derived from the authenticated session — they are never accepted from request parameters or URL paths. This prevents any possibility of accessing another customer's data by manipulating a request.
  • Orphan records (data missing both organization and user identifiers) are denied access by default.
  • Cross-tenant queries are blocked at the data layer through ownership verification on every request.

Admin Access

Administrative access is managed through a database-backed allowlist rather than hardcoded credentials:

  • The admin allowlist is maintained in a secure database table
  • Changes to admin access are logged in the audit trail
  • Admin access can be managed through the admin dashboard without code deployments
  • If the database is unreachable, admin access is denied (fail-closed)

API Key Security

For programmatic access via the Agent API, Rankability provides API keys with robust security controls:

  • Hashed storage: API keys are stored as SHA-256 hashes. Plaintext keys are shown once at creation and never stored.
  • Scoped permissions: Each key can be limited to specific capabilities (content, reports, clients, knowledge base)
  • Expiration support: Keys can be set to expire automatically
  • Revocation: Keys can be revoked instantly through the dashboard. Revoked keys are purged from the system after 90 days.
  • Abuse detection: Keys are automatically suspended when abuse patterns are detected
  • Timing-safe validation: All key comparisons use constant-time algorithms to prevent timing attacks

OAuth Integration Security

When you connect Google services (Search Console, Analytics, Business Profile, YouTube):

  • OAuth tokens are encrypted at rest using AES-256-GCM
  • OAuth state parameters are signed with a dedicated secret — never reusing database credentials
  • Token scopes are limited to only what is needed for each service
  • Disconnecting an integration immediately nullifies tokens, with full cleanup within 30 days

Session Security

  • Sessions are managed by Clerk with automatic timeout
  • Organization context is always derived from the session token
  • Administrative sessions are verified on every request against the database-backed allowlist

For security inquiries or to request our SOC 2 report, contact [email protected]