Welcome, Client

Site: example.com
Privacy-first dashboard. Analytics shown here can be generated from server logs—no tracking pixels required.

Site status

Primary domain
Quick actions

Upcoming payment

Next invoice date and amount

Due date
Amount
Billing

Site Health Score

Single number that rolls up reliability, security, backups, and performance.

Live
This score is designed to be explainable: each component has a weight, a measured value, and a plain-English note.

Top issues

Highest impact items to improve health score.

Bundles & add-ons

What you’ve selected (and what it costs).

Active

Analytics snapshot

Quick read of the last 30 days.

Visits (30d)
Estimated sessions
Leads (30d)
Calls / forms
Top page
Most viewed
Bots
Percent of requests

Reliability & security

Quick health checks that prevent surprises.

Monitored
SSL TLS
Backups Snapshots
Domain/DNS Routing
Deploys Change log
All changes can be logged in the activity feed for transparency.

Recent activity

What happened, when.

Timeline

Past invoices

Recent invoices (preview). Use the Invoices tab for the full list.

Invoice Date Amount Status
Tip: Keep this portal under portal.kldhosting.com and optionally offer portal.clientdomain.com as a premium vanity mapping.

Analytics

Privacy-friendly metrics (can be derived from server logs).

No trackers
Visits (30d)
Estimated sessions
Leads (30d)
Calls / forms
Top page
Most viewed
Bots
Percent of requests
When you wire backend: store only aggregated daily counts per client (not raw IPs / user agents). You can also display “Top referrers” and “Top locations” only if clients explicitly want it.

Invoices

All invoices (template list).

Invoice Date Amount Status Method

Support

Open a ticket (template).

SLA:
Channel
Subject
Message
Backend suggestion: assign every ticket a short ID (e.g. TKT-1049), store timestamps + status, and notify via Postmark.

Quick help

Common requests, simplified.

Self-serve
Request a restore point
Pick a time and we’ll restore your site.
Content update
New hours, photos, services, pricing.
Billing questions
Invoices, payment methods, receipts.
Report an outage
If your site is down, this jumps the queue.
If you want this to feel premium: add a “Monthly summary” card (what was done + improvements).

Settings

Portal preferences.

Local only
Theme
Stored in your browser only.
Notifications
Backend suggestion: allow clients to opt-in to SMS/email alerts for downtime and billing.
Security
Backend suggestion: magic-link login + optional TOTP for accounts.

Portal info

Implementation notes.

Recommended headers
Content-Security-Policy: default-src 'self'; img-src 'self' data:; style-src 'self'; script-src 'self'; base-uri 'self'; frame-ancestors 'none'
Referrer-Policy: no-referrer
X-Content-Type-Options: nosniff
Permissions-Policy: geolocation=(), microphone=(), camera=()
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
API wiring
Set window.PORTAL_API_BASE="/api" before app.js, then implement PHP endpoints returning JSON. The UI will automatically switch from mock data.