Launched this week
ClientsPulse
Stop losing clients between projects. Post-sale CRM.
10 followers
Stop losing clients between projects. Post-sale CRM.
10 followers
ClientsPulse is the post-sale relationship engine for freelancers, consultants & small agencies. Smart timeline auto-built from BCC'd emails, AI-drafted follow-up nudges (human-approved), and one-click client portals with zero login. The chaos-stack killer.







mailX by mailwarm
@manal_essalek1Β Thanks so much, this hit on exactly the friction we kept seeing β clients politely ignoring "create an account to view your project" emails until the relationship quietly went cold.
Great question on the security tradeoff, and it's one we spent a lot of time on. Forwarded-email risk is the obvious failure mode, so the portal tokens are built to assume that will happen and stay safe anyway:
- Cryptographically random, not guessable β each token is 32 bytes of CSPRNG output (256 bits of entropy), delivered as an opaque base64url string. No structure, no client ID embedded, nothing you can decode from
the URL.
- Hashed at rest β we never store the raw token. Only an HMAC-SHA256 hash sits in the database, so even a full DB compromise doesn't yield working links. Verification is constant-time to prevent timing attacks.
- Expiring by default β 14-day default expiry, 30-day hard ceiling. No "permanent share links."
- Scoped, not blanket access β every token is bound to a single client + a single resource (one invoice, one timeline, one project). A forwarded link can't be pivoted to browse anything else.
- Optional single-use mode β for sensitive resources like invoices, the operator can issue a one-shot token that burns after first view.
- Instantly revocable β one click from the dashboard kills the link, and every issue/revoke is written to an immutable audit log.
- Key rotation built in β the HMAC signing key rotates on a 30-day overlap window, so old tokens age out cleanly.
So if a client forwards a link by accident, the blast radius is: one specific resource, for a bounded window, revocable in one click β never an account, never the full relationship history, never anyone else's
data.
Appreciate you digging into this β it's the kind of question that tells me you've actually shipped products that handle client data. π
---
Want me to tighten it, drop the bullet list for a more conversational flow, or trim the technical depth?