Environment Variables

Every value your ARK product needs to run lives in an "environment variable" in Vercel. This page is the complete reference: what each variable does, where to find its value, and whether it's required.

How to set environment variables in Vercel

  1. Vercel dashboard → your project → SettingsEnvironment Variables.
  2. Type the Name in the left field.
  3. Paste the Value in the right field.
  4. Leave the environment checkboxes (Production, Preview, Development) all checked unless you have a specific reason not to.
  5. Click Save.
  6. After adding or changing variables, go to Deployments, find the most recent deployment, click the three dots, and choose Redeploy. Variables only take effect on the next build.

Required for every ARK product

These three are the bare minimum.

VITE_SUPABASE_URL

What it is: the address of your Supabase database.

Where to find it: Supabase Dashboard → your project → Project SettingsAPIProject URL.

Looks like: https://abcdefghijklmnop.supabase.co

Notes: Always use HTTPS, no trailing slash, no quotes.

VITE_SUPABASE_ANON_KEY

What it is: the public key your website uses to talk to Supabase.

Where to find it: Supabase Dashboard → your project → Project SettingsAPIProject API keysanon public.

Looks like: A long string starting with eyJ (a JWT token).

Notes: Click Reveal in Supabase before copying. This key is safe to expose in client-side code — Supabase enforces row-level security separately. Do not confuse this with the service role key (also on the same page), which is private and which ARK products do not use.

VITE_ARK_LICENSE_KEY

What it is: the license key tied to your purchase.

Where to find it: the purchase confirmation email we sent you, or your dashboard at arkteams.io/dashboard/products.

Looks like: ARK-A1B2-C3D4-E5F6-G7H8

Notes: Each license binds to one production domain on first use. If you redeploy to a different domain, request a domain change in your dashboard (limit: 2 changes per year).

Optional, depending on the product

These vary by product. Check your product's specific Installation page for the definitive list. Common ones:

VITE_RESEND_API_KEY

Used by: Comms (email integration), Pulse (notifications), any product that sends email from your deployment.

What it is: an API key for Resend, the service that delivers email.

Where to find it: Resend Dashboard → API Keys → Create API Key.

Required? Only if you want the product to send email. The product runs without it; email features are disabled.

VITE_SLACK_BOT_TOKEN

Used by: Pulse (Slack standups), Comms (Slack channel mirror).

What it is: an OAuth token for the Slack workspace your team uses.

Where to find it: install the product's bundled Slack app to your workspace; the token appears in the Slack app settings. Each product's docs walks you through the install.

Required? Only if you want Slack integration.

VITE_OPENAI_API_KEY

Used by: any product with built-in AI features (e.g., Track contact summaries, Recap meeting notes).

What it is: an API key from OpenAI.

Required? Only for AI features.

VITE_SENTRY_DSN

Used by: any product that you want to ship error reports to Sentry.

Required? No. Optional production telemetry.

Naming conventions

You may notice every variable starts with VITE_. ARK products are built with Vite, which only exposes variables prefixed with VITE_ to the browser. This is a security feature — anything without that prefix stays server-side.

If you add your own variables for customizations, follow the same convention:

  • VITE_* for values the website needs at runtime
  • No prefix for secrets used only by build scripts or backend code

What if I miss one?

Each ARK product validates its environment variables on startup and prints a clear error in the build log if anything is missing or malformed. The pattern is:

[ARK] Missing required environment variable: VITE_SUPABASE_URL
[ARK] Set this in Vercel: Settings → Environment Variables.

If your build fails with a message like that, add the missing variable and redeploy.

Local development

If you want to run the product on your computer:

  1. Copy the .env.local.example file in your repo to .env.local.
  2. Fill in the same values you set in Vercel.
  3. Run npm install then npm run dev.

The .env.local file is in .gitignore and never committed. Don't share it.

Next: Your First Login