Environment Variables Reference

This document provides a comprehensive reference for all environment variables used to configure Sombra. Variables are organized by functional category to help you quickly find the settings you need.

These environment variables define the basic configuration of your Sombra cluster.

Environment VariableDescriptionDefaultRequired
ORGANIZATION_URIThe unique identifier for your organization in Transcend-Yes
SOMBRA_IDThe unique identifier for this Sombra cluster-Yes
TRANSCEND_URLThe base URL for the Transcend APIhttps://api.transcend.io (EU) or https://api.us.transcend.io (US)Yes
DD_SERVICE_NAMEThe name for your Sombra service in logs and metricstranscend-hosted-sombraNo

These variables control how Sombra communicates over the network.

Environment VariableDescriptionDefaultRequired
INTERNAL_PORT_HTTPSPort for the internal HTTPS server (faces inside firewall)5040No (unless INTERNAL_PORT_HTTP is undefined)
INTERNAL_PORT_HTTPPort for the internal HTTP server (faces inside firewall)5039No (unless INTERNAL_PORT_HTTPS is undefined)
EXTERNAL_PORT_HTTPSPort for the external HTTPS server (faces outside firewall)5041No (only for Direct Connection method)
EXTERNAL_PORT_HTTPPort for the external HTTP server (faces outside firewall)5042No (only for Direct Connection method)
LLM_CLASSIFIER_URLURL for the LLM Classifier service-No (only if using LLM Classifier)
LLM_SERVER_PORTPort the LLM Classifier listens on6081No

These variables configure the Reverse Tunnel connection between Sombra and Transcend.

Environment VariableDescriptionDefaultRequired
SOMBRA_REVERSE_TUNNEL_API_KEYAPI key used to authenticate the Reverse Tunnel connection-Yes (for Reverse Tunnel method)

These variables configure TLS certificates for secure HTTPS connections.

Environment VariableDescriptionDefaultRequired
SOMBRA_TLS_CERTThe Sombra TLS Certificate, base64 encoded-No (only for Direct Connection method with HTTPS)
SOMBRA_TLS_KEYThe TLS private key, base64 encoded in PEM format-No (only for Direct Connection method with HTTPS)
SOMBRA_TLS_KEY_PASSPHRASEAn optional passphrase for the TLS private key-No
TRUSTED_CLIENT_CA_CERT_ENCODEDPublic CA certificate for mutual TLS authentication-No
LLM_CERT_PATHPath to SSL certificate for LLM Classifier HTTPS-No
LLM_KEY_PATHPath to SSL key file for LLM Classifier HTTPS-No

These variables configure how encryption keys are managed by Sombra.

Environment VariableDescriptionDefaultRequired
JWT_ECDSA_KEYJSON Web Token asymmetric key(s) for signing Sombra payloads-Yes
INTERNAL_KEY_HASHHash of the internal key used to authenticate internal API requests-No
KMS_PROVIDERKey Management Service provider to uselocalNo
AWS_KMS_KEY_ARNAmazon Resource Name for AWS KMS-Yes (when KMS_PROVIDER=AWS)
AWS_REGIONAWS Region where AWS KMS is hosted-Yes (when KMS_PROVIDER=AWS)
AWS_KMS_THROW_PERMISSIONS_ERRORSFlag to throw errors related to permissions in AWS KMSfalseNo
AWS_KMS_CUSTOM_KEY_STORE_IDID of a Custom AWS CloudHSM key store-No

These variables configure authentication for employees (administrators).

Environment VariableDescriptionDefaultRequired
EMPLOYEE_AUTHENTICATION_METHODSAllowed authentication methods for employeessession,transcendNo
EMPLOYEE_SESSION_EXPIRY_TIMEDuration of employee session JWT3 hoursNo
SAML_ENTRYPOINTLogin endpoint where SAML assertion comes from-Yes (for SAML auth)
SAML_CERTPublic key to validate SAML assertion-Yes (for SAML auth)
SAML_ISSUERIssuer of the SAML certificatetranscendNo
SAML_AUDIENCEAudience of the SAML assertiontranscendNo
ACCEPT_CLOCK_SKEWED_MSArtificially skew clock for validating assertion expiration-No

These variables configure authentication for data subjects (end-users).

Environment VariableDescriptionDefaultRequired
DATA_SUBJECT_AUTHENTICATION_METHODSAllowed authentication methods for data subjects-Yes
DATA_SUBJECT_SESSION_EXPIRY_TIMEDuration of data subject session JWT5 daysNo
JWT_AUTHENTICATION_PUBLIC_KEYPublic key for verifying JWT magic links-Yes (for JWT auth)
OAUTH_CLIENT_IDClient ID of Privacy Center's OAuth 2 application-Yes (for OAuth auth)
OAUTH_CLIENT_SECRETClient Secret of Privacy Center's OAuth 2 application-Yes (for OAuth auth)
OAUTH_GET_TOKEN_URLEndpoint to make Access Token Request-Yes (for OAuth auth)
OAUTH_GET_TOKEN_BODY_GRANT_TYPEGrant type for OAuth token-No
OAUTH_GET_TOKEN_BODY_REDIRECT_URIRedirect URI for successful response-Yes (for OAuth auth)
OAUTH_GET_TOKEN_METHODHTTP method for retrieving OAuth tokenPOSTNo
OAUTH_GET_TOKEN_HEADERSHeaders for retrieving OAuth token-No
OAUTH_GET_CORE_ID_DATA_SUBJECT_TYPEType of Data Subject for OAuth-Yes (for OAuth auth)
OAUTH_GET_CORE_ID_URLAPI endpoint to retrieve user ID-Yes (for OAuth auth)
OAUTH_GET_CORE_ID_PATHJSON path to extract user ID-Yes (for OAuth auth)
OAUTH_GET_EMAIL_URLAPI endpoint to find user email-Yes (for OAuth auth)
OAUTH_GET_EMAIL_PATHJSON path to extract email-Yes (for OAuth auth)
OAUTH_EMAIL_IS_VERIFIEDWhether all emails have been verified previously-No
OAUTH_EMAIL_IS_VERIFIED_PATHJSON path to extract email verification status-No
OAUTH_GET_PROFILE_PICTURE_URLAPI endpoint for user profile picture-No
OAUTH_GET_PROFILE_PICTURE_PATHJSON path to extract profile picture URL-No

These variables configure database connection pooling in Sombra.

Environment VariableDescriptionDefaultRequired
ODBC_POOL_CACHE_SIZEMaximum size of LRU cache for connection pools-Yes (for connection pooling)
ODBC_QUERY_TIMEOUT_IN_SECONDSMaximum time to wait for ODBC queries60No
ODBC_CONNECTION_TIMEOUT_IN_SECONDSSeconds to wait for connection requests0No
ODBC_LOGIN_TIMEOUT_IN_SECONDSSeconds to wait for login requests10No
ODBC_CONNECTION_MAX_POOL_SIZEMaximum open connections in the pool100No
ODBC_CONNECTION_INITIAL_POOL_SIZEInitial connections created in the pool10No
ODBC_CONNECTION_POOL_SIZE_INCREMENTAdditional connections created when pool is full10No
REUSE_ODBC_CONNECTIONSWhether to reuse existing connectionstrueNo
ODBC_CONNECTION_POOL_SIZE_SHRINKWhether connections should shrink to initial sizetrueNo

These variables configure logging and monitoring for Sombra.

Environment VariableDescriptionDefaultRequired
RUN_DATADOG_APMInitialize Datadog tracingtrueNo
DD_APM_PORTDatadog Agent APM port for trace data8126No
DD_HOSTDatadog Agent host for metrics and traceslocalhostNo
DD_STATSD_PORTDatadog Agent metric port8125No
DD_APM_BLOCKLISTBlocklist of routes to pass to trace[]No
DD_APM_ANALYTICSFilter Analyzed Spans by user-defined tagstrueNo
DD_APM_LOG_INJECTIONEnable injection of trace IDs in logstrueNo
DD_APM_RUNTIME_METRICSEnable capturing runtime metricstrueNo
DD_TRACE_DEBUGEnable debug logging in tracerfalseNo
LOG_HTTP_TRANSPORT_URLTranscend Collector's HTTPS ingress endpoint-Yes (for log forwarding)
LOG_HTTP_TRANSPORT_BATCH_INTERVAL_MSMaximum time between batched logs5000No
LOG_HTTP_TRANSPORT_BATCH_COUNTMaximum log lines per batch10No
LOG_FORWARDING_TRANSCEND_API_KEYAPI key for forwarding LLM Classifier logs-Yes (for LLM log forwarding)

These variables configure integration with HashiCorp Vault for secrets management.

Environment VariableDescriptionDefaultRequired
ENABLE_VAULT_FETCHEREnable Vault integration-Yes (for Vault integration)
VAULT_AGENT_URIURI of the Vault agent-Yes (for Vault integration)
VAULT_PATH_SOMBRA_JWT_ECDSA_KEYVault path for JWT_ECDSA_KEY-No
VAULT_VERSION_SOMBRA_JWT_ECDSA_KEYVault version for JWT_ECDSA_KEY-No
VAULT_KEY_SOMBRA_JWT_ECDSA_KEYVault key name for JWT_ECDSA_KEY-No
VAULT_PATH_SOMBRA_TLS_KEY_PASSPHRASEVault path for TLS_KEY_PASSPHRASE-No
VAULT_VERSION_SOMBRA_TLS_KEY_PASSPHRASEVault version for TLS_KEY_PASSPHRASE-No
VAULT_KEY_SOMBRA_TLS_KEY_PASSPHRASEVault key name for TLS_KEY_PASSPHRASE-No
VAULT_PATH_SOMBRA_TLS_CERTVault path for TLS_CERT-No
VAULT_VERSION_SOMBRA_TLS_CERTVault version for TLS_CERT-No
VAULT_KEY_SOMBRA_TLS_CERTVault key name for TLS_CERT-No
VAULT_PATH_SOMBRA_TLS_KEYVault path for TLS_KEY-No
VAULT_VERSION_SOMBRA_TLS_KEYVault version for TLS_KEY-No
VAULT_KEY_SOMBRA_TLS_KEYVault key name for TLS_KEY-No
VAULT_PATH_TRUSTED_CLIENT_CA_CERT_ENCODEDVault path for CLIENT_CA_CERT-No
VAULT_VERSION_TRUSTED_CLIENT_CA_CERT_ENCODEDVault version for CLIENT_CA_CERT-No
VAULT_KEY_TRUSTED_CLIENT_CA_CERT_ENCODEDVault key name for CLIENT_CA_CERT-No

When configuring Sombra environment variables, keep these best practices in mind:

  1. Security First: Keep your JWT_ECDSA_KEY and other security keys secure. Consider using a secrets management solution like HashiCorp Vault.

  2. Key Rotation: Periodically rotate your encryption keys using the guidance in the Key Rotation documentation.

  3. Minimal Permissions: When configuring authentication methods, start with the minimum necessary and add more as required.

  4. Documentation: Keep track of your environment variable configurations, especially when managing multiple Sombra clusters.

  5. Testing: Always test your configuration in a non-production environment before deploying to production.