Internal Admin Guide

Publishing Client Dashboards

How to upload an HTML dashboard and how to set up a brand-new client folder.

Upload an HTML dashboard

1

Go to the admin upload page

Open /secure_area. This is the admin side, not /portal.
2

Log in with the client's key

The password you enter selects which client folderthe file lands in. Log in with a client's key to publish to that client's folder.
3

Choose the HTML document

Click "Choose HTML Document" and pick your standalone .html file.
4

Publish to the client folder

Click "Publish to Client Folder". You'll see "Upload successful!" and a shareable link.

Note: Re-uploading a file with the same name overwrites the previous one. Use distinct filenames if you want multiple dashboards in one portal.

Create a new client folder

There is no manual "create folder" step in Blob storage. Folders are just path prefixes created automatically on the first upload. So you register the client's password, then upload once.

Keep a master copy of this JSON — Vercel won't let you read it back

CLIENT_PASSWORDS is a Secret variable, so its value is hidden and cannot be revealed in the Vercel dashboard. When you edit it, Vercel replaces the entire value — it does not merge. If you paste only the new client, every existing client's password is wiped out.

Always keep the full, authoritative JSON in a password manager or secure note. To add a client, open your saved copy, add the new entry, and paste the complete updated JSON back into Vercel.

1

Add the client to CLIENT_PASSWORDS

In your Vercel project → Settings → Environment Variables, edit CLIENT_PASSWORDS. It's a JSON map of folderName → password. Add a new entry — the key becomes the folder name, the value is the password you give the client:{ "coffee": "coffee_demo_309", "acme": "acme_secret_key_777" }Keep it valid JSON — no trailing commas.
2

Redeploy

Environment variable changes only take effect on a new deployment. Redeploy after editing.
3

Upload once to create the folder

Go to /secure_area, log in with the new client's password, and upload an HTML file. That first upload writes acme/index.html, which is what actually creates the acme/ folder.
4

Hand off to the client

Give the client the /portallink plus their secret key. They'll only see their own folder's files.