Skip to main content
itzseo
Phase 5 + Phase 37

Your clients see their work.
Without logging into your account.

A read-only portal per project. Clients see their tasks, articles, engagements, deliverables. They can request reminders with two-way date negotiation. Per-project visibility toggles you control.

Starter unlocks read-only portal. Growth adds client-initiated reminders. Agency adds white-label.

The agency client problem

Email threads. Google Docs. Status calls.

Most agencies communicate status via email, shared Docs, and a weekly status call. Clients ask “where are we on X?” — your team digs through Slack. By call #4 the client either thinks nothing is happening or thinks too much is happening.

What clients see

A clean read-only view of their work.

You control what shows. The client portal lives at /projects/[id]/portal per project.

Tasks

The tasks you're working on for them. Status, assignee, due date. Per-project visibility toggle — turn off if you don't want to expose internal task tracking.

Articles

Drafts, in-review pieces, published work. They can read but not edit. SEO meta + schema + word count visible. Per-project content visibility toggle.

Engagements + deliverables

Their retainer status, monthly cycles, deliverables completed vs pending, payment schedule. Per-project performance visibility toggle.

Reminder requests

They can submit a new reminder (“please update the landing copy by Friday”). You see it in your inbox. Accept the date or counter-propose. Two-way negotiation.

Recommendations

Claude-generated insights surface here. Per-project recommendations visibility toggle. Disable for clients who don't want raw AI output.

Audits

The audits you've run on their site. Health score + prioritized issues + Claude-explained fixes. Per-project audits visibility toggle.

Phase 37 differentiator

Client-initiated reminders.

The killer feature no other agency tool has: clients can request something with a desired date, and you negotiate the date back.

1Client

Opens /projects/[id]/portal/request. Submits: title + desired date + description + their email. No login required.

2System

Creates a Reminder with source: CLIENT, status: PENDING_REVIEW. Logs in activity feed. Emails the project owner.

3You (owner)

See the request in /reminders. Accept the date → reminder becomes active. Or counter-propose → suggest a new date with a message.

4Client

Sees your counter-proposal at /projects/[id]/portal/requests/[reminderId]. Accepts your date or counter-proposes again.

5Both

Once accepted, the reminder activates. Notifications fire per the workspace SLA. Timeline of the negotiation stays in /reminders/[id]/timeline as audit trail.

Per-project controls

You decide what each client sees.

Toggles at /projects/[id]/settings. Different clients can see different things.

clientShowTasks
Show the client their open + closed tasks
clientShowPerformance
Show ranking + traffic deltas + AI Search Visibility
clientShowRecommendations
Show Claude-generated content + audit recommendations
clientAccessContent
Allow read access to articles
clientAccessAudits
Allow read access to audits
acceptsClientReminders
Allow the client to submit new reminder requests
requireClientApproval
Require client sign-off before publishing articles
Agency tier

White-label option.

Your workspace branding (logo + primary color) applies to the client portal + outbound emails. Custom portal domain available on request.

Logo + brand color
Branded outbound emails
Custom portal domain (Agency)
FAQ

Client portal questions.

Do clients need to create an account?
No login for read-only viewing. They access the portal via a unique tokenized link you share. For reminder requests, they submit email + name with the request — that's it. We don't want to add friction between you and your clients.
Can different clients see different things?
Yes. Visibility toggles live per-project. Client A might see audits + tasks; Client B sees only deliverables + monthly reports. Configure at /projects/[id]/settings.
What happens to portal data if I delete the project?
Soft delete keeps the portal accessible (read-only) for 30 days, then hard delete. Reminder threads survive in /reminders/archive for audit trail purposes.
Can the client see internal team comments?
No. Internal comments on tasks + articles are always hidden from the client portal — they only see published content. The boundary is enforced server-side, not client-side.
What if the client doesn't want a portal?
Disable all visibility toggles. The portal renders empty, with no signal that data was hidden. You keep using ItzSEO internally; the client never knows the portal exists. They get monthly email reports instead.
Can I customize the welcome message clients see?
Per-project welcome message + portal home content is on the Phase 38.x roadmap. For now, the portal opens with a neutral ‘Hi, here's your project status’ framing.
How does white-label affect SEO?
The portal pages aren't indexed (noindex). White-label is for client-facing visual branding only. Your domain doesn't compete with client SEO.

Stop emailing status updates.

14-day trial. Try the client portal with one of your real client engagements.