Skip to main content

Security

Security for BYOC

Nuon runs your app in your customers' cloud accounts with outbound-only connectivity, least-privilege roles, and access your customers control.

No cross-account access

No direct access to your customers' cloud account.

Outbound-only runners, deny-by-default egress.

Customers do not share credentials or grant the vendor direct access to their cloud account. Everything goes through a runner the customer controls. The control plane holds no credentials and has no network path into the account. The runner polls outbound only, with deny-by-default egress limited to an allowlist. What it manages was created by the customer from a Stack they reviewed and deployed with their own credentials.

Deny-by-default egress No inbound firewall rules No VPN tunnels
Learn about the runner
Egress policy · acme-prod AWS installs Allow lists
Deny by default
Runner API Runner API Artifact storage (S3) Artifact storage (S3) Vendor control plane API
AWS (STS, ECR, S3, regional APIs) AWS (STS, ECR, S3, regional APIs) Amazon Linux repos Amazon Linux repos CloudFront CloudFront
Docker Hub Docker Hub GHCR GHCR Quay Quay Google Artifact Registry Google Artifact Registry registry.k8s.io registry.k8s.io
Helm Jetstack · Kyverno · Prometheus · AWS HashiCorp HashiCorp GitHub GitHub Let's Encrypt Let's Encrypt
Datadog Datadog Wiz Wiz Okta Okta Slack Slack Snowflake Snowflake
Everything else BLOCKED

Open source

The BYOC software that powers your customers is open source.

Built to earn trust in production.

When Nuon powers a vendor's customer-facing production, the vendor's brand is on the line with their customers. Both need proof the platform is secure, reliable, and scalable, not only a claim. Nuon is open source, so vendors and end customers can inspect how it works, including the runner code that runs in the customer cloud, with issues and fixes public.

Auditable code Public issues and fixes No black box
View on GitHub
Deploy agent Closed source
  1. Verify "Trust us"
  2. Permissions A PDF from the vendor
  3. Fixes Release notes
Security review takes the vendor's word
Nuon runner Open source
  1. Verify Read the code
  2. Permissions Defined in the Stack you review
  3. Fixes Public commits and issues
Security review verifies the source

Nuon control plane

The Nuon control plane runs in your cloud.

Managed by Nuon, hosted in your account.

With Nuon BYOC, the control plane runs in your cloud account. Metadata and logs stay there, and runner access can be limited to maintenance windows. Prefer fully managed? Nuon Cloud runs the same platform, with encrypted metadata over TLS. On Nuon Cloud, vendors are segmented by organization, with RBAC limited to their own org.

Managed by Nuon Metadata stays in your cloud Org-scoped RBAC
Learn about Nuon BYOC
Nuon control plane Nuon Cloud
  1. Runs in Nuon's cloud
  2. Managed by Nuon
  3. Metadata Encrypted Postgres
  4. Runner access Outbound only
Managed by Nuon · in Nuon's cloud
Nuon control plane Nuon BYOC
  1. Runs in Your cloud account
  2. Managed by Nuon
  3. Metadata Stays in your cloud
  4. Runner access Restrictable to maintenance windows
Managed by Nuon · in your cloud

Nuon Cloud · vendors segmented by organization

RBAC limited to their org

Least privilege

Each update or operation gets only the access it needs.

Separate roles for provision, maintenance, and deprovision.

Runners assume distinct IAM roles per operation. Components and actions declare their own roles and policies, so a runner never holds more access than the single job in front of it.

Per-operation roles Per-component policies Scoped per action
Learn about operation roles
Job roles · acme-prod Nuon
  • PROVISION
    create stack apply terraform bootstrap BLOCKED run during maintenance PASS
  • MAINTENANCE
    upgrade components run actions BLOCKED create sandbox PASS
  • BREAK GLASS
    elevated debug time-limited BLOCKED permanent grant PASS
  • DEPROVISION
    destroy resources revoke roles BLOCKED create components PASS
Same runner · one role per job

Customer-granted access

Vendor access is granted and audited by the customer.

Turn roles on or off, or elevate access to troubleshoot.

Everything the runner can do is granted by the customer through the Stack. They choose which roles are active, and can grant a time-limited break glass role for troubleshooting, then revoke it. No action from the vendor or Nuon is needed to take access away. The customer can even disable the runner entirely.

Roles on or off Time-limited elevation Customer grants every elevation
Learn about runner control

Data boundaries

Secrets stay in the customer's cloud, out of reach of the vendor and Nuon.

Customers enter secrets when they deploy the Stack.

Those values are written into the customer's AWS Secrets Manager, Azure Key Vault, or GCP Secret Manager. They are never stored in Nuon or held by the vendor. The runner in the customer's account can read them with a job-scoped role while it deploys or syncs components.

No vendor access to secrets No control plane access Runner reads in place
Learn about secrets
Secret manager access · AWS Secrets Manager · acme-prod
  • Vendor BLOCKED no direct access
  • Nuon control plane BLOCKED no credentials, no network path
  • Runner PASS scoped role · deploy job only
Search logs...
3 of 3 logs Severity Filter
INFO 10/13/2026, 4:47:04.2112 PM CDT runner assuming role: provision
INFO 10/13/2026, 4:47:04.4120 PM CDT runner reading secret: db-password (redacted)
INFO 10/13/2026, 4:47:06.8866 PM CDT helm upgrading release: api
Secret values leaving the customer cloud: 0

Stays in customer cloud

secret values application logs app data

Logging

We log infrastructure operations, not application logs.

Every Terraform run and Helm deploy, searchable per install.

Nuon logs infrastructure operations: Terraform, Helm, and cluster work, searchable per install. Application logs never reach the control plane. Nothing else is sent home automatically. Define an action to fetch only the data you want, and the runner returns that. The customer can audit and control what leaves.

Infra operations only App logs never sent

Logged

  • terraform runs
  • helm deploys
  • cluster creation

Never sent to control plane

  • application logs
  • app data
  • secret values

Infrastructure operations only

Guardrails

Infrastructure policies are enforced automatically.

OPA and Kyverno gates on every change, plus drift detection.

Validate plans, charts, manifests, images, and sandbox infra with OPA and Kyverno, blocking or warning on violations. Checks run automatically before a change ever reaches an approval, and scheduled scans catch drift.

OPA Kyverno Block or warn Drift scans
Learn about policies

Change control

Nothing ships without an approval.

Approve the plan, prove it on a canary install, then approve each rollout.

Every change hits an approval gate. Plans must be approved before apply. Rollouts need approval for a canary, then again before each install group. Scope App Branches to one customer (stage, UAT, then production) or to a fleet (canary first, then the rest).

Plan approval Canary first Approval per install group
Learn about App Branches
PLAN → APPROVE → CANARY → APPROVE → GROUP 1 → APPROVE → GROUP 2

Found a security issue? Report a vulnerability.

Start Shipping to Customer Clouds

Offer BYOC for any deployment architecture

Start your Nuon trial and try our example apps in minutes. No credit card required.