Client portal — read-only access for your customers
Give your customers their own login to a reduced dashboard area where they see exactly the websites you released — no access to billing, team or other clients. Client invitations are read-only (viewer role) and scoped per client to the assigned websites.
# What customers see in the portal
Release per customer
You invite a customer by email and then assign them one or more of your websites. They see ONLY those assigned sites — not your other customers, not your billing, not your team. Until you assign a website, the customer shows as “None assigned” in the list and sees nothing in the portal.
Read-only (viewer role)
Client invitations only permit the viewer role server-side. On an assigned website the client therefore holds the effective role “client” — pure read access. Write actions (configure monitoring, start scans, delete a website) are rejected: the server checks write permission centrally and responds with HTTP 403 and the error code read_only when the right is missing.
Strict per-website visibility
Access is resolved through the invitation's assigned-website list. A website you did not assign simply does not exist for that client — even a foreign ID typed into the URL returns HTTP 404, not a data leak. Aggregate views (e.g. the analytics overview) resolve exactly the same set of websites as the website picker.
In your agency's branding
With white-label (Agency plan) the branded surfaces — status pages, PDF reports, PDF scan reports and the invitation/notification mails — carry your company name, your logo and your primary colour. Once a company name is set, the Powered-by-XICTRAQ footer is dropped automatically. A dedicated custom domain for the portal is in progress — until then the portal runs on xictraq.com, but in your agency's branding.
# How to add a customer
Invite in 2 steps
1. Under Client Portal click “Invite client” and enter the email address. 2. In the client list use “Assign” to tick the websites to release and save. The invitation is sent by email automatically; the link is valid for 7 days and issued personally to the invited address.
New contact vs. existing account
If the customer has no XICTRAQ account yet, they create a free account once via the registration link (name + password) — the invited email is bound to the link and cannot be redirected to a different address. If the email already exists as an account, access becomes active immediately without the registration detour (status “Active”) and the customer simply logs in as usual.
Copy the portal link
Next to each customer there is a copy icon: for pending invitations it copies the registration link with token (the same URL as in the invitation mail), for already active customers the generic portal login link. This lets you hand over access outside of email too.
Revoke access
Revocable anytime: remove the customer from the list (trash icon, with confirmation). On the next page load the customer loses access to all assigned websites, because access is filtered through the accepted invitation. The customer's account is never deleted — they become the owner of their own (possibly empty) account and can be re-invited at any time.
# Slots, counts & limits
Active and pending customers count against the slot limit
A slot is taken as soon as you invite a customer: a pending invitation (status “Pending”) already holds its slot, because on acceptance it becomes active without a further check. Only an expired invitation frees it again. In addition, at most 20 client invitations per account can be pending at the same time (spam protection). You cannot invite yourself and cannot send a duplicate pending invitation to the same address.
Only your own websites are assignable
When assigning, only websites that belong to your account are taken into account — foreign IDs are filtered out server-side. You can assign a customer any number of your websites and change the selection at any time.