\u26a1 17 delivered capabilities

Sunray Features

Core free for the foundations. Enterprise for advanced deployments.

sunray_core Β· Free

Core Tier FSL-1.1-Apache-2.0

Self-hosted, free. Converts to Apache 2.0 per release on a rolling 2-year basis.

πŸ”‘

Passkey WebAuthn Authentication

FIDO2 passkeys scoped per host. The same user can have distinct credentials per protected application. Replay detection by WebAuthn counter. Single-use, CIDR-restricted, SHA-512 enrollment tokens.

  • Phishing-resistant by design
  • Touch ID, Face ID, FIDO2 key
  • Zero passwords
πŸ”

Session management

Worker-side sessions with configurable TTL (8h normal, 1h remote, 2h deployment). Per-session or mass revocation by user, in Admin UI and REST API. WebAuthn counter validated Worker-side.

πŸ›‘οΈ

Access rules engine

Locked-by-default model: all traffic is authenticated except explicit exceptions. Centralised library of reusable rules attached per host with priority and individual activation.

  • Public β€” URL regex, no auth
  • CIDR β€” IP whitelist (IPv4 + IPv6)
  • Token β€” bearer or webhook with custom header
βœ‰οΈ

Email OTP β€” passwordless fallback

Single-use codes sent by email, validated Worker-side, rate-limited per email+host with browser fingerprint (User-Agent and IP). Anti-phishing audit-logged. Opt-in per host via enable_email_login.

⚑

Worker lifecycle β€” auto-registration

Workers auto-register on the first API call via the X-Worker-ID header β€” no manual configuration. Zero-downtime migration: admin sets a pending_worker_id, the new Worker takes over automatically.

πŸ“‹

Forensic audit log β€” 40+ events

Server-side log for authentication, passkey lifecycle, security violations (HMAC, IP, UA), Worker migrations, WAF events. Non-blocking emission from Workers. Queryable by type, severity, IP, time range.

πŸ”„

Configuration cache & resilience

Double TTL: 300Β s for refresh attempt, 86 400Β s for physical eviction. Workers continue serving from their cache during a Server outage. Invalidation by host, user or global.

πŸͺ

WAF Bypass Cookie (β€œSublimation”)

HMAC-signed cookie with WAF_BYPASS_SECRET, bound to IP and User-Agent, 15Β min revalidation window. Reduces Cloudflare WAF inspection for authenticated traffic. Any forgery attempt is audit-logged.

  • Cloudflare Worker only
  • Obscured cookie name
  • Per-host toggle
πŸ–₯️

Two deployment Workers

Two implementations sharing the same Server REST contract. Same security level, same core features, different deployments.

  • Cloudflare Worker β€” 200+ PoP edge, KV state, native WAF
  • FastAPI Worker β€” on-prem, ForwardAuth Traefik/Nginx/Caddy, DragonflyDB
πŸ“Š

Admin UI Odoo Community Framework + CLI

Complete Odoo Community Framework interface (LGPL-3, free): users, hosts, passkeys, rules, workers, sessions, tokens, audit. Drag-drop rule priority. CLI bin/sunray-cli for non-UI operations.

sunray_advanced_core Β· Enterprise

Enterprise Tier Elastic License v2

€9/month for 20 users Β· +€1/user beyond that Β· Billing inactive during beta.

πŸ“±

Remote Authentication β€” QR + Passkey

Cross-device flow for kiosks and shared workstations. The desktop displays a QR code with a 6-digit code. The user scans from their mobile, WebAuthn authentication executes on the mobile. Short-duration remote session (1h, max 2h) vs 8h normal.

πŸš€

Deployment Mode β€” Progressive Go-Live

Soft-launch mode with limited duration. Users authenticate by username only, without credential verification. Auto-deactivation at golive_date. State machine: unprotected β†’ deployment β†’ protected.

πŸ”„

Sunray Configuration Proxy (SCP)

External configuration hub synchronised by the Server (daily cron or manual). Change detection by hash. Automatic lockdown if the SCP is unreachable for more than 12h. Supports multiple SCPs via FQDN regex.

πŸ“¨

Bulk token generation + email

Admin wizard to generate enrollment tokens for multiple users at once, with email delivery via customisable template. Automatically skips users with an existing valid token.

βš™οΈ

Worker auto-registration with defaults

Workers automatically register protected hosts on first connection. The Server provides default values (session, auth, remote auth, deployment mode) applied at auto-registration.

πŸ‘€

Self-service session management

UI allowing users to view and revoke their own sessions across all their devices. Separate from admin revocation. Per-host configuration via session_mgmt_enabled.

πŸ“ˆ

Analytics Dashboard

ChartJS dashboard integrated into the Odoo Community Framework interface. Configurable tiles (bar, line, pie, HTML tables). Seeded dashboards: Protected Hosts (status badges), Users (active/inactive), Setup Tokens (consumption). Drill-down to records.

πŸ“

+17 advanced audit events

Additional events for Remote Auth (session listed, terminated), auto-register (triggered, reactivated), SCP (sync, lockdown), email token (success, error, no template).

What Sunray is not

To avoid misunderstandings

  • \u274c Not a VPN β€” operates at the HTTP layer, not network
  • \u274c Not a federated SSO / generic cross-application IdP
  • \u274c Not a CASB or CIAM for third-party SaaS apps
  • \u274c No managed SaaS offered today (internal roadmap, no public commitment)

Ready to secure your applications?

View pricing β†’ View architecture β†’