Subprocessors
Last updated: October 8, 2026
Night Lite USA LLC (doing business as ACE Regulatory) uses the services below to run the product. This list is taken from the application code and its configuration. An entry marked "when configured" runs only if the matching setting is present; it is not active in every deployment. We will give customers reasonable advance notice before adding a subprocessor that changes how personal data is processed.
Application hosting and database
- Railway — hosts the web application. The container build and the platform environment variables the app reads are documented in the repository. Purpose: compute.
- PostgreSQL, via InsForge in the documented production connection — account, workspace, and lead records are stored in Postgres (
DATABASE_URL). The application code states that production connects as InsForge's database role. A Prisma-managed database is the other layout the startup script supports. Purpose: application database.
Email, payments, and sign-in
- Resend — when
RESEND_API_KEYis set, verification, password-reset, and invitation messages are sent through Resend's API (https://api.resend.com/emails). The default From address isACE Regulatory <no-reply@ace-regulatory.com>unlessEMAIL_FROMoverrides it. If the key is unset, those messages are not sent. Purpose: transactional email. - Stripe — when the Stripe keys are set, checkout and the billing portal run on Stripe. Card numbers are collected by Stripe. Purpose: payments.
- Google — Google sign-in, when
AUTH_GOOGLE_IDandAUTH_GOOGLE_SECRETare set. Google Analytics 4 loads only after analytics consent (measurement id fromNEXT_PUBLIC_GA_ID, with a fallback id in the client). Google Tag Manager loads only whenNEXT_PUBLIC_GTM_IDis set and analytics consent was given. Purpose: authentication, and measurement when you allow it. Apple sign-in is implemented in the code and is not offered unless its own credentials are set; they are not part of the default configuration.
When configured
- Sentry — error reports, when
SENTRY_DSNorNEXT_PUBLIC_SENTRY_DSNis set. The client and server configuration setsendDefaultPiito false. Purpose: error monitoring. - Anthropic — chat messages and gap-analysis text are posted to
https://api.anthropic.comwhenANTHROPIC_API_KEYis set. Purpose: model responses. - InsForge model gateway — the same kinds of text are posted to the configured InsForge AI base URL when
INSFORGE_API_KEYis set. Purpose: model responses. - OpenAI-compatible model endpoint (Ollama) — used when
OLLAMA_API_KEYorOLLAMA_BASE_URLis set. A local endpoint is our own process, not a third party. A hosted endpoint is a subprocessor. Purpose: model responses. - Upstash — Redis used for rate limits when
UPSTASH_REDIS_REST_URLandUPSTASH_REDIS_REST_TOKENare both set. Limit keys can include a client IP address. When they are unset, limits stay in the application process. Purpose: abuse prevention. - Workflow automation for contact leads — each accepted contact-form submission is stored in the application database and also POSTed to the webhook in
SAAS_SIGNUP_WEBHOOK_URL. That endpoint is an n8n workflow we operate for lead handling. It is not a separate marketing platform. Purpose: routing contact-form messages to the operator. - Operator SIEM — security events may be POSTed to a Wazuh-compatible API when
WAZUH_API_URLis set. The endpoint is one we configure. Purpose: security logging.
Questions about this list, or a request for the data processing addendum, go through our contact form. The privacy policy is at /privacy-policy.