Changelog

What's new

Platform updates, new features, and fixes — shipped continuously.

June 2026
Infrastructure

One-command server setup & node scaling

Setting up a new production server or adding nodes to scale horizontally now requires a single command instead of manual steps.

New
  • Zero-prompt setup — copy .setup.env.example, fill in three fields (GitHub PAT, GHCR token, owner email), run sudo bash setup.sh. All seven steps run automatically: OS hardening, k3s, operators, runner, secrets, manifests, TLS.
  • Node join — join-node.sh --print-join on the master prints a ready-to-paste command for new nodes. The new server joins the cluster, installs the GitHub runner, and becomes schedulable in under 5 minutes.
  • Health check — health-check.sh verifies nodes, pods, database replicas, Redis, all secrets, GitHub runner, and TLS certificates. Exits non-zero if anything is missing.
  • OS bootstrap script — automates the manual steps previously described only in docs: package installs, user creation, SSH hardening (key-only, no root), UFW firewall.
  • GHCR image pull secret — 07-ghcr-secret.sh creates the ghcr-secret Kubernetes secret automatically, eliminating the most common cause of ImagePullBackOff on fresh installs.
June 2026
Security

Platform hardening & GDPR compliance

A comprehensive security review covering authentication, secrets management, authorization, input validation, and data privacy.

Authentication
  • JWT session verification — all API calls now require a signed JWT from the session cookie. User identity can no longer be spoofed via an unverified header.
  • Rate limiting — login is limited to 10 attempts / 5 min per email and 30 / 5 min per IP. Registration is limited to 10 / hour per IP. Implemented via Redis.
  • Password requirements — minimum 12 characters, at least 3 of 4 character classes (uppercase, lowercase, digits, symbols).
Secrets & Encryption
  • AES-256-GCM encryption at rest — SSO credentials, VPP s-tokens, DEP server tokens, and webhook secrets are all encrypted before storage using a platform-level ENCRYPTION_KEY.
  • Webhook secrets — plaintext is returned only once (on create or rotate). The stored value is always encrypted; HMAC-SHA256 signing decrypts at delivery time only.
Authorization
  • Org deletion restricted to Owner — the DELETE_WORKSPACE permission grant can no longer bypass this; the check is now hardcoded to memberRole === "OWNER".
  • Device metadata schema — arbitrary JSON is no longer accepted. Only explicit fields (notes, assetTag, location, department, owner) pass validation. Command payloads are restricted to primitives.
Privacy (GDPR)
  • Data transfer consent — activating DEP (Apple Business Manager), VPP (Apps & Books), or Android Management API now shows an explicit notice explaining what data flows to Apple / Google and under which legal basis before the token can be uploaded.
  • Audit log cleanup — a daily Kubernetes CronJob deletes audit entries older than 90 days, in line with GDPR data minimization requirements.
  • Device names removed from audit logs — rename operations no longer store the old or new device name in the audit metadata field.
  • Account deletion — users can now permanently delete their account. All memberships are removed first; deletion is blocked if the user is the sole owner of an organization.
Infrastructure
  • Read-only container filesystems — all app containers now run with readOnlyRootFilesystem: true. Ephemeral volumes cover /tmp and Next.js cache.
  • Worker network egress restriction — HTTPS egress is limited to non-RFC1918 addresses, preventing lateral movement to internal services.
June 2026
Compliance

Compliance violation email alerts

Admins are now automatically notified when devices fall out of compliance — no more polling the dashboard to spot violations.

New
  • Admin email alerts — when a new compliance violation is detected, all org admins receive an email listing the affected device, rule, and current value.
  • Hourly background scan — compliance rules are evaluated on a scheduled BullMQ job every hour, not only on check-in. Devices that go out of policy between check-ins are caught.
  • Deduplication — alerts fire only on new violations, not on repeat scans of the same existing violation.
June 2026
Platform

Webhooks

Connect ionvoy events to your own infrastructure — SIEM, ticketing, automation workflows, or any HTTP endpoint.

New
  • Outbound webhooks — create endpoint URLs that receive signed POST requests when platform events occur (device enrolled, command completed, compliance violation, etc.).
  • HMAC-SHA256 signing — every delivery includes an X-Ionvoy-Signature header so recipients can verify authenticity without exposing the secret.
  • Secret rotation — webhook secrets can be rotated at any time. The new plaintext secret is shown once; after that it is stored encrypted and never exposed again.
  • Audit trail — webhook creation and secret rotation are recorded in the org audit log.
May 2026
Platform

Platform foundation

Initial release of the ionvoy MDM platform — multi-tenant, cross-platform device management for Apple, Android, Samsung Knox, and interactive displays.

Core
  • Multi-tenant organizations — RBAC with Owner / Admin / Member / Viewer roles and per-user permission overrides.
  • Custom authentication — email + password, bcrypt, JWT in httpOnly session cookie. No third-party auth dependency.
  • Invite system — invite by email, by @domain wildcard, or via support agent link.
  • Async command queue — BullMQ + Redis. Commands survive device offline periods and are delivered on next check-in.
  • Audit log — every command, enrollment, and admin action is recorded with actor, timestamp, and status transitions.
  • Partner portal — distributors can manage multiple customer orgs and issue license credits.
Apple MDM
  • OTA enrollment via .mobileconfig (Two-Phase Challenge/Response)
  • APNs wakeup push — real HTTP/2 session with persistent connection pooling
  • Commands: Lock, Wipe, Restart, Shutdown, Clear Passcode, Remote Desktop, Install/Remove Profile, Install/Remove App, Device Information, Installed App List, Profile List
  • VPP / Apps & Books integration (device-based licensing)
  • DEP server token management (sync with Apple Business Manager)
Android & Samsung Knox
  • Enrollment token generation + revocation
  • Commands: Lock, Wipe, Reboot, Install/Remove App, Set Policy
  • Samsung Knox API integration (parallel to Android Enterprise)
  • Compliance rules with automated remediation (lock on violation)
Display Devices
  • Newline & DTEN adapters — Volume, Brightness, Restart, Screenshot
  • Range validation before queueing (0–100 for volume & brightness)
Dashboard
  • Device table with real-time status updates via Server-Sent Events
  • Device groups with policy assignment
  • Compliance dashboard — open violations, per-rule breakdown, non-compliant device list
  • App catalog — install / remove per group across all platforms
  • Overview page with device stats and recent audit activity
  • Dark / light mode
  • Mobile companion app (React Native / Expo) — device detail, commands, groups