Known limitations
Everything YourDesk 1.0.0 does not do yet, in one place, plus where older notes and the listing describe more than the code does.
6 min readUpdated Oct 17, 2026Applies to YourDesk 1.0.0
On this page
We would rather you read this before buying than discover it afterwards. Each item is something the interface, the listing or the bundled notes might suggest, but that version 1.0.0 does not do. Items will move off this page as they ship; the Changelog will say when.
Accounts and administration
- No password reset, password change or email verification screens.
- No account or studio deletion from the interface.
- Disabling an account does not affect its studio's teammates or client links. They keep working; see Disabling an account.
- Feature flags switch off whole features only. The agent flag does not cover letter drafting in Client updates, and portals does not close proposal or invoice links.
- Most Ops brand settings are not displayed. The brand name is used only on the PayPal checkout page, the tagline and maintenance message only on
/pricing; the mark, support email and default currency are not used. Renaming the product is a code change insrc/lib/brand.tsand the marketing pages. - The house role (admin or member) does not change permissions. Only the platform role and the studio owner seat do.
- No dedicated health-check endpoint.
Plans and payments
- Plans do not gate anything: no seat, project, feature or Agent limits, and a cancelled plan does not restrict the studio.
- Studios cannot see or manage their plan in the app. There is no billing page and no Stripe customer portal; cancellations and refunds happen in the Stripe dashboard.
- PayPal is one-off only. Month and Year plans bought with PayPal never renew, and the PayPal plan ID field is not used.
- Stripe needs its webhook secret or paid checkouts never activate the plan.
- Deleting a plan is not blocked while studios use it.
- Clients cannot pay invoices online. Stripe and PayPal sell plans only; invoices show bank details and a PayPal handle, and payments are recorded by hand.
- No system email. YourDesk sends nothing on its own behalf: no sign-up, reset, invitation or notification emails.
- No mail inbox screen. Connecting a mailbox fetches the latest 60 inbox and 30 sent messages once, but 1.0.0 has no screen to read them and does not sync again.
- "Send link" on proposals and invoices does not email the client; it copies the link.
- Automatic client emails are off by default. Overdue reminders and unopened-proposal follow-ups wait as drafts until the studio owner turns on Email clients automatically, and drafts made before that are not sent later. It is one switch for both kinds, per studio. See Automatic reminders.
- "Send with Gmail" is the label for sending through any connected mailbox.
Proposals, invoices and clients
- Signatures are typed names, with a server-time timestamp and the browser's user-agent. No drawn signature, IP address, emailed copy or certificate.
- No notifications when a client opens, signs, declines, writes, uploads, answers or approves.
- Invoice numbers are random (
INV-plus six characters), not sequential. - Invoices made in the app show "Today" as their issue date, permanently, on screen and in the PDF.
- Whole currency units only. Fees, tax and payments are rounded to whole units; tax rates are whole percentages; lines have no quantity or unit price.
- Deposit adds a line and keeps the others, so the total grows.
- Time is not billed automatically. No hourly rates, and "Raise invoice" uses the project budget.
- New studios default to
AUDuntil the owner changes the currency. - Records link to clients by company name. Renaming a client hides older proposals and invoices that carry the old name.
- Proposal and invoice links never expire and ignore the portal's on/off switch and expiry, and the portals flag in Ops → Product.
- Portal access requests only record a decision; approving one does not send anything or create a separate link.
Projects, planner and time
- No milestone records; use phase, due date and tasks.
- The timer lives in the browser tab and is lost on reload or close.
- Calendar import is a one-time copy, not a live subscription.
- Files are stored in the database, about 900 KB each at most. There is no external file storage.
- Assigning a task does not notify anyone.
Team
- Two seat roles only: owner and member. Members can see and change everything on the desk, including the mailbox connection.
- Invitations are not emailed; the owner copies the join link and sends it.
AI
- Agent automations do not run on their schedule; use "Run now".
- The automation confirmation policy is not applied; risky actions still always need approval.
- Lead research and letter drafting use
grok-4.5, which is fixed in code. Only the Agent's model is configurable. - Discover's brief and questions use fixed rules, and its research notes are generic for the trade unless an xAI key is set.
Data and operations
- No import, and no way to move data from the embedded database to Postgres. The JSON export is one-way and leaves out portal messages, requests, deliverables and files.
- Changing
BETTER_AUTH_SECRETmakes stored secrets unreadable: mailbox passwords, payment keys and personal xAI keys. - The refusal to start without
BETTER_AUTH_SECRETdepends onNODE_ENV=production. The Docker image and Vercel set it; a plain Node install must set it itself, or it starts with a random secret. npm startand the migration runner do not read.env.- The built Node server defaults to port 3000, not 8080.
VITE_PUBLIC_HOSTNAMEis build-time, and the bundledDockerfiledoes not pass it to the build.- The migration runner takes no lock; migrate from one instance at a time.
- Demo mode has no automatic reset, and the demo studio's proposal, invoice and portal links still accept client actions such as signing, messages and uploads. The demo account itself is read-only.
- Rate limits are kept in memory, per process.
- The interface is in English only, and several stored dates (sent and signed dates, "client since") are written in the British style.
- No offline mode: the web manifest allows adding to a home screen, but there is no service worker.
Where older notes differ from the code
If you have read the bundled README.md, DEPLOY.md, documentation/index.html, the changelog or the CodeCanyon listing, these statements describe more than version 1.0.0 does. This guide follows the code.
| Older note says | What the code does |
|---|---|
| Brand name, mark and tagline can be changed from the admin console without touching code | Only the PayPal checkout brand name and the /pricing tagline change |
| Scheduled automations | Automations run only when you press "Run now" |
| Client updates and mail keep client threads next to the work | Mail is fetched once on connection; there is no inbox screen |
| Invoices with public pay/view links | The link is view-only; clients cannot pay through it |
| Paid plans with features such as extra seats and priority Agent throughput | Plans are not enforced; those lines are display text |
| Team workspaces with invites and roles | Owner and member only; invites are copied links |
| Ops → System checks the payment providers | It checks the database, auth secret, xAI keys and migrations |
| Paid plans show "coming soon" when no provider is enabled | They show a sign-up or open-app button |
| The Node server defaults to port 8080 | It defaults to 3000 unless PORT is set |
| Migrations are applied automatically | On Postgres they run at build, at Docker start or by hand, never by the running app |
| The demo's data is reset from time to time | Nothing resets it; the operator must |
| Projects have milestones | Projects have a phase, due date and tasks |