Account States

What happens when the account itself is the problem — not the data, not the network, but the user's relationship with your product.

Trial expired

The user's free trial ended and they haven't upgraded. They can still log in but can't use core features. This is the highest-stakes screen in any SaaS product — it's the moment between conversion and churn.

Your trial has ended

Your 14-day free trial expired on February 12, 2026.

To continue using your workspace:

  • Your data is safe — nothing has been deleted
  • All features will unlock immediately after upgrading
  • Plans start at $12/month

Need more time? Contact us for a trial extension.

Show as a full-page blocker or persistent banner when the trial period ends. Be direct about what's locked and what upgrading costs. Don't hide the price. Don't be passive-aggressive.

Account suspended

The account has been suspended — usually due to a billing failure, policy violation, or admin action. The user can log in but everything is locked. This is a tense moment. Be clear, not threatening.

Account suspended

Your account was suspended due to a failed payment on February 8, 2026.

What this means:

  • • Your workspace is read-only
  • • Team members cannot access the workspace
  • • Data will be retained for 30 days

Show as a full-page blocker after login when the account is suspended. Always explain why and give a clear path to resolution. If it's a billing issue, link directly to billing.

Read-only mode

The user can view data but can't edit anything. This happens during plan downgrades, pending migrations, maintenance windows, or when a viewer role is assigned. The UI should look normal but all write actions are disabled with clear explanations.

Read-only mode — Your role only allows viewing. Contact an admin to request edit access.

Project settings

Manage project configuration.

Show a persistent banner at the top of the page and disable all write actions (buttons, forms, toggles). Don't hide the UI — let them see everything, just not touch it.

Feature locked after downgrade

The user downgraded their plan and a feature they were using is no longer available. Their data is still there but they can't access it. This is one of the most frustrating experiences in SaaS — handle it with care.

Advanced analytics is a Pro feature

You had access to this on the Pro plan. Your data is still here — upgrade to access it again.

Show when a user navigates to a feature that's no longer included in their current plan. Don't delete their data. Show them what they had and make upgrading easy.

Email verification pending

The user signed up but hasn't verified their email yet. Some features are restricted until they do. This is a common gate that's often implemented poorly — either too aggressive or too easy to miss.

Verify your email

We sent a verification link to alice@company.com. Check your inbox and click the link to activate your account.

Didn't receive the email?

Wrong email? Update your email address

Show as a persistent banner or interstitial after login when email is unverified. Allow limited access but block sensitive actions. Always offer a resend option.

Payment grace period

The payment failed but you're giving them a grace period before suspending. This is the warning shot — be firm but helpful. Most users who see this will fix it if you make it easy.

Payment failed — action required by February 22

We couldn't charge your card ending in 4242. Update your payment method to avoid service interruption.

Your regular dashboard content continues below this banner...

Show as a persistent, dismissable banner at the top of every page during the grace period. Include the deadline and a direct link to update payment. Don't bury this in settings.