Product4 min read

Magic Links Explained: Client Portals Without Passwords

Kevin Champlin

What is a magic link?

A magic link is a unique URL that contains a secure token — like a digital key. When someone clicks the link, they’re instantly authenticated and can see the content you’ve shared with them. No login form, no password, no account creation.

For example: `https://zenpm.work/portal/a1b2c3d4-e5f6-7890`

That URL is unique to one client’s view of one project. It expires automatically after a set period and can be revoked at any time. The client clicks it and sees their project dashboard immediately.

Why clients hate traditional logins

Every creative agency has experienced this: You send a client a link to review deliverables in your project management tool. The client needs to create an account first. They need to choose a password. They forget the password next week. They email you asking for access again.

The friction of traditional authentication means clients often don’t look at project updates until the next status call. This creates information asymmetry — you know the project status, but the client doesn’t. That gap leads to misaligned expectations, scope creep, and difficult conversations.

How magic links work (technically)

Magic links use UUID tokens — 128-bit random identifiers that are practically impossible to guess. When you generate a magic link:

  • A unique token (UUID v4) is created and stored in the database alongside the client, project, and permission scope
  • The token is embedded in a URL that routes to a special portal page
  • When the client clicks the URL, the server validates the token, checks expiration, and renders only the content the client is authorized to see
  • The link can be configured to expire after a set time (24 hours, 7 days, 30 days) or after a number of uses
  • You can revoke any magic link instantly if needed

What clients see through a magic link portal

The key to magic link portals is the "Curtain Control" concept: you decide exactly what the client sees. Internal team discussions, cost breakdowns, and work-in-progress notes stay hidden. Clients see only what you choose to share:

Typical client portal view includes: project timeline with milestones, completed deliverables, items awaiting their feedback, and a simple way to leave comments. Everything else — your internal notes, team chat, billing details, time breakdowns — stays behind the curtain.

This is fundamentally different from tools like Basecamp or Asana where inviting a client as a guest gives them access to the full project (or requires careful permission configuration that’s easy to get wrong).

Security considerations

Magic links are secure when implemented correctly. The UUID v4 token space is 2^122 — there are more possible tokens than atoms in the observable universe. Brute-forcing a valid token is computationally infeasible.

Best practices for magic link security include: automatic expiration, single-project scope (one link per project per client), HTTPS-only delivery, rate limiting on token validation, and the ability to revoke links instantly. Some implementations also add IP-based restrictions or one-time-use tokens for extra-sensitive content.

Getting started with magic link client portals

If your current project management tool requires clients to create accounts, you’re adding unnecessary friction to your client relationships. Magic links solve this by meeting clients where they are: their email inbox.

Share a link. They click it. They see their project. No passwords, no accounts, no support tickets. It’s the simplest possible client experience — and it leads to more engaged clients who actually review deliverables and provide timely feedback.

Give your clients the easiest portal experience

ZenPM’s magic link portals let clients see project progress with one click. No passwords, no accounts. Try it free for 14 days.

Start Free Trial