Encryption at rest
All sensitive values are encrypted using AES-256-GCM before they are stored in the database. This is an additional encryption layer on top of the base database encryption provided by Neon.| Secret type | Examples |
|---|---|
| Custom API credentials | API keys, Bearer tokens, basic auth passwords |
| Database connection strings | PostgreSQL URLs, MySQL URLs, Redshift URLs |
| SSH private keys | Keys used for tunneled database connections |
| OAuth tokens | Access and refresh tokens from connected integrations |
| Server secrets | The VYBE_SERVER_SECRET assigned to each app |
Encryption in transit
All connections between your browser, Vybe services, and your deployed apps are encrypted using TLS/HTTPS:- Dashboard and editor — All interactions with the Vybe platform
- Deployed apps — All traffic to
*.vybe.buildURLs - API calls — Communication between your app and Vybe services
- Integration connections — OAuth flows and API calls to third-party services
- Database connections — Encrypted by default; SSH tunneling available for additional security
HttpOnly, Secure, and SameSite attributes. Cross-subdomain communication is protected with security headers.
Database encryption
Internal databases
Every organization receives an isolated Neon PostgreSQL project with:- Encryption at rest — Neon encrypts all stored data at the infrastructure level
- Automatic backups — 7-day retention with point-in-time restore to millisecond precision
- Project isolation — Complete data separation between organizations
DATABASE_URL connection string for your app’s internal database is generated, encrypted, and injected automatically. You never need to configure it manually.
External databases
When you connect an external database (PostgreSQL, MySQL, Redshift), the connection credentials are encrypted with AES-256-GCM before storage:- Connection URLs — The full connection string including host, port, database, username, and password
- SSH private keys — Keys used for tunneled connections to databases behind firewalls
- Parameterized queries — Prevents SQL injection attacks
- Request validation — Sanitizes and validates all query parameters
- Read-only enforcement — Optional mode that prevents accidental writes to production databases
Masked after creation
After you save a secret — whether it is a Custom API credential, a database URL, or an SSH key — it is masked in the UI and cannot be viewed again. You will see a placeholder like•••••••• instead of the actual value.
If you need to change a secret, you replace it entirely with a new value. There is no way to retrieve the original.
Server secret
Every app is assigned a unique server secret calledVYBE_SERVER_SECRET. This secret authenticates server-to-server requests between your deployed app and Vybe APIs.
How it works:
- Automatically generated when you create an app
- Injected as an environment variable (
VYBE_SERVER_SECRET) at deployment time - Used by your app’s backend code when making API calls to Vybe services
- Unique per app — it cannot be used to access resources from other apps
When the server secret is used
Your app uses the server secret when it needs to:- Fetch data from connected integrations
- Run saved data queries
- Access Vybe platform APIs
Environment variable injection
Secrets are injected into your app’s runtime environment during deployment. They are never:- Written to files on disk
- Committed to your app’s code or version history
- Stored in build artifacts
- Visible in the app preview logs
| Variable | Purpose |
|---|---|
VYBE_SERVER_SECRET | Authenticates your app to Vybe APIs |
DATABASE_URL | Connection string for your app’s built-in PostgreSQL database |
| Integration-specific variables | Credentials for connected services, as needed |
process.env like any standard Node.js environment variable:
Integration credentials
OAuth tokens and API keys for connected services (like Slack, Salesforce, or HubSpot) are managed through Vybe’s integration platform with multiple layers of protection:- Encrypted storage — Tokens are encrypted with AES-256-GCM before being stored
- No client-side exposure — Auth tokens are never sent to the browser or exposed in client-side code
- Automatic token refresh — OAuth tokens are refreshed automatically before they expire, with no intervention required
- Secure provider — Credentials are managed through a dedicated secure integration provider
- No direct access — Your app accesses integration data through Vybe’s APIs, which handle authentication on your behalf
Custom API credentials
When you create a Custom API in the Integrations page, the credentials you provide are encrypted and stored securely:Enter credentials
Provide the API name, authentication type, and credentials (API key, token, etc.).
Save
Once saved, the credentials are encrypted immediately. They appear masked in the UI and cannot be retrieved.
Best practices
Use environment variables for all sensitive values
Use environment variables for all sensitive values
Never hardcode API keys, database URLs, or tokens in your source code. Always reference them through
process.env or the Vybe integration system.Use read-only mode for production databases
Use read-only mode for production databases
When connecting external production databases, enable read-only mode to prevent accidental writes. This is especially important for databases shared across your organization.
Rotate compromised credentials immediately
Rotate compromised credentials immediately
If you suspect a credential has been compromised, replace it immediately from the Integrations page. The old value is discarded and the new value is encrypted and deployed on your next deploy.
Limit Custom API visibility
Limit Custom API visibility
Set Custom API credentials to “You only” visibility unless the entire team needs access. This limits the blast radius if a credential is misused.
Use SSH tunneling for sensitive databases
Use SSH tunneling for sensitive databases
For databases behind firewalls or containing particularly sensitive data, use SSH tunneling to add an extra layer of security beyond TLS encryption.
What’s next
- Understand how user tokens work: Vybe User Token
- Review the overall security architecture: Security Overview
- Learn about authentication in deployed apps: App Authentication