RunoSO - Business OS for Solo Operators LogoRunoSO
FeaturesPricingTemplatesBlogAbout
Sign inStart free
RunoSO LogoRunoSO

Run your solo business. From one place.

Built in India 🇮🇳

Product

FeaturesPricingBlogChangelogRoadmap

Legal

Terms & ConditionsPrivacy PolicyRefund PolicyCookie PolicyData Deletion

Connect

Twitter/XLinkedInInstagramhello@runoso.in
Made by RunoSO
© 2026 RunoSO. All rights reserved.
Back to Blog

Featured Articles

Build in Public

Why I Ditched Notion & Sheets to Build RunoSO

7 min read
Technical Deep-Dive

How I Built a Zero-Knowledge Vault with AES-256

10 min read
Productivity

Best Freelance Tools in 2026 — Honest Stack Review

11 min read
View all posts
  1. Home
  2. Blog
  3. Freelance Client Portal: Why Shared Docs Beat Email Threads
Productivity

Freelance Client Portal: Why Shared Docs Beat Email Threads

By Gautam Parmar30 September 20268 min read
Freelance Client Portal: Why Shared Docs Beat Email Threads — featured image

Pillar: RunoSO is the freelance business OS — see the full freelancing management system pillar for comparison vs Notion/Sheets.

You email invoice PDF, then Slack the vault password, then Notion the scope. Client loses one of three and blames you. A portal is one link: tasks, invoices, domains, vault names — revocable via portalTokens.

Portal portalTokens { tenantId, clientId, revokedAt } src/lib/db/schema-public.ts:169 renders client-specific view via portal/[token] without login, joins invoices/assets/vault names. That is why freelance client portal in RunoSO is not a template — it is a query SELECT * FROM personalTasks WHERE projectId = ? AND isToday = true joined to clients and vault.

Email Threads Fail

  • Three tools, one client: Invoices, creds, assets in 3 threads — no clientId join src/lib/db/schema.ts:7 so client hunts.
  • No revoke: Email forward leaks vault gcm:iv:tag:enc src/lib/vault/crypto.ts:28 forever.
  • No status: Client asks ‘where are we?’ you screenshot sheets.

The Linked Productivity Model: Freelance Client Portal Knows Its Context

Portal portalTokens { tenantId, clientId, revokedAt } src/lib/db/schema-public.ts:169 renders client-specific view via portal/[token] without login, joins invoices/assets/vault names.

ts
portalTokens {
  token text primaryKey
  tenantId uuid
  clientId uuid → clients.id unique src/lib/db/schema-public.ts:178
  revokedAt timestamp // revokes share
}
GET /portal/[token] → leftJoin(invoices)+assets+vaultItems filtered clientId

What linked gives you: one clientId to filter every asset src/app/api/assets/[category]/route.ts:91 with buildPaginatedQuery src/lib/utils/pagination.ts:11, vault hint vaultItemName without plaintext src/lib/vault/crypto.ts:28, and notifications RENEWAL_MILESTONES [7,3,1,0] src/app/api/cron/daily/route.ts:17 that nag before failure.

Sheets vs RunoSO Productivity: Freelance Client Portal Test

ScenarioSheets / GenericRunoSO Linked
Share invoicePDF email attachmentPortal invoice.status sent/paid live
Share credsSlack plaintextVault name only, encrypted gcm:iv:tag:enc
HandoverEmail zipPortal + handover PDF public/templates/domain-handover-template

Sheets list freelance client portal. RunoSO links freelance client portal to projectId and vaultItemId.

Deploy in 30 Minutes

  1. Create portalTokens per active client clientId unique.
  2. Verify portal shows 3–5 invoices, 2 hosting, 1 vault name.
  3. Send link once; client bookmarks, you update source, link stays fresh.
  4. At offboarding, export handover PDF + keep portal live 30 days then revokedAt.
  5. Track opens? ask feedback day 3, referral ask day 14 via isToday task.

Mistakes & Pro Move

  • Emailing VAULT_MASTER_KEY breaks zero-knowledge — portal never exposes ciphertext.
  • One token for all clients leaks cross-client data — unique clientId per token src/lib/db/schema-public.ts:178.
  • No expiry risks stale share — set revokedAt review quarterly.

Freelance Client Portal fails quietly until a client asks "where is it?" Keep freelance client portal linked to projects, vault and invoices so work ships and money follows.

→ Fix Freelance Client Portal in RunoSO — Free


By Gautam Parmar — your freelance client portal never slips with RunoSO linked.


Keep Reading

  • Pillar: freelance business OS
  • Client offboarding revoke access safely: Client offboarding revoke access safely
  • Digital asset handover template clients: Digital asset handover template clients
  • Freelance client offboarding referral system: Freelance client offboarding referral system

FAQ

How secure is portal vs email? Portal rows RLS tenant_${id} and revokedAt check; vault secrets stay gcm:iv:tag:enc — only names shown, copy needs auth.

Can client pay via portal? Portal shows invoice.status and dueDate; Razorpay/Stripe link src/lib/razorpay/helpers.ts routes payment → transactions auto.

What if client forwards portal link? Token is unguessable nanoid() src/lib/db/schema.ts:198; revoke via revokedAt and regenerate — instant invalidation.

Try RunoSO for Free

Manage clients, invoices, vault, content, and finances — all from one beautiful dashboard.

Start free
Meet RunoSO
SaaS
Unified Workspace
Finance & Invoicing
Credentials Vault
Content Pipeline

Unified Workspace

The ultimate command center for solo operators. Replace Notion, Sheets, and password managers.

  • Unified client database
  • Real-time key metrics
  • Intuitive navigation
Start free todayLearn more about RunoSO

Featured Articles

Build in Public

Why I Ditched Notion & Sheets to Build RunoSO

7 min read
Technical Deep-Dive

How I Built a Zero-Knowledge Vault with AES-256

10 min read
Productivity

Best Freelance Tools in 2026 — Honest Stack Review

11 min read
View all posts
Meet RunoSO
SaaS
Unified Workspace
Finance & Invoicing
Credentials Vault
Content Pipeline

Unified Workspace

The ultimate command center for solo operators. Replace Notion, Sheets, and password managers.

  • Unified client database
  • Real-time key metrics
  • Intuitive navigation
Start free todayLearn more about RunoSO

Related Posts

Productivity

Worksuite vs RunoSO: Freelancer Management System India 2026

Worksuite vs RunoSO for India — enterprise FMS for 190+ countries vs solo freelance system with GST, UPI & vault linked. Compare pricing & vault India.

Productivity

Flinggle vs RunoSO: Freelance Management System India 2026

Flinggle vs RunoSO for India — compare GST, UPI, vault & pricing. Flinggle leads + proposals, RunoSO is GST + vault + assets linked India-native system.