renmy runtime runs entirely on your machine. Your Apex source, test data and schema stay there. This page lists what renmy runtime does with your data and what it does not.
renmy runtime reads your .cls, .trigger, and .flow-meta.xml files locally. No source is transmitted to Renmy UG, to Salesforce, or to any third party.
Records inserted during tests live in an embedded PostgreSQL instance on your local disk. The database runs in-process - it has no network port open. Nothing persists between test runs (each test runs in a rolled-back transaction).
Object definitions are read from your sfdx-project.json and .object-meta.xml files. No schema is fetched from a Salesforce org - renmy runtime works entirely from source.
The Apex interpreter runs as a subprocess on your machine. No code is sent to a remote execution environment. Results are computed locally and displayed in your terminal or editor.
renmy runtime records one privacy-minimal activation event by default. Licensed headless CI records a separate, de-duplicated event so repeated builds do not inflate human installation counts. No source code, file paths, test names, record data, repository, branch, workflow, or command arguments are ever included.
Telemetry is used only to measure which installation channels work. It is not sold, shared, or used for advertising.
You can opt out at any time:
# Disable telemetry permanently: add this line to
# nimbus.properties (in the project or ~/.nimbus/)
nimbus.telemetry=false
# Or per shell or CI job
export NIMBUS_TELEMETRY=false
# NIMBUS_NO_TELEMETRY=1 and NIMBUS_NO_TRACKING=1
# are honoured as wellPro and Team licenses are validated with the licensing API (Keygen) on activation and at most once a day after that; a validation sends the license key.
Activating a machine with renmy login also sends a one-way hash of a random installation ID, the hostname, the machine's display name (on macOS the Computer Name), OS and architecture, the number of CPU cores and your account ID, to enforce seat limits and list your machines in the portal. Nothing from your code, tests or org is sent.
Free tier requires no network access at all. Licenses are cached locally and validated offline for up to 7 days, so renmy runtime works without internet access for normal use.
# Sign in via browser and activate this machine
renmy login
# What's sent to the licensing API (Keygen):
# {
# "key": "NIMBUS-XXXX-XXXX-XXXX",
# "machine": "3f9c…"
# }
# key: handed to the CLI by your signed-in browser
# machine: one-way hash of a random installation ID
# On activation also: hostname, display name, OS/arch,
# CPU cores and your account ID
# What's NOT sent:
# - File paths, project names, or source code
# - Test output, coverage data, or Salesforce data
# - Anything from your codebase or orgrenmy runtime supports fully air-gapped installation. The binary, with the database engine embedded in it, can be distributed via internal artifact repositories without internet access.
For Enterprise customers, on-premise license validation is available on request - no outbound network required for license checks. Contact us to discuss your deployment requirements.
# Air-gapped install: copy the binary directly.
# The PostgreSQL engine is embedded in it,
# so nothing is downloaded.
cp renmy /usr/local/bin/renmy
# Turn off telemetry (or nimbus.telemetry=false)
export NIMBUS_TELEMETRY=false
# and the daily update check
export NIMBUS_NO_UPGRADE_CHECK=1If you have specific security requirements or need documentation for an enterprise procurement review, reach out directly.