Guide · June 1, 2025

Company Email Access Control for Internal Tools — Without Enterprise Plans

Getting company-email gating on an internal tool doesn't require Vercel Enterprise or Okta admin help. Here's the fast path.


The standard advice for securing an internal tool with company SSO is: talk to IT, get them to configure Okta or Azure AD, go through the vendor's enterprise onboarding, pay $300–800/month.

That advice is designed for large companies with dedicated IT teams. If you're an individual contributor who built something in Claude Code and wants their 8-person team to use it, here's a much faster path.

What company email gating actually requires

  1. User arrives at your URL
  2. They authenticate with their work email (Google Workspace, Microsoft 365)
  3. Your app verifies the email domain matches @yourcompany.com
  4. If yes: access granted. If no: access denied.

That's it. No Okta configuration. No IT ticket. No SAML setup. Enterprise SSO only comes into play when a company wants centralized administration — audit logs, automatic deprovisioning, group-based access. That's a V3 problem, not a "share this with my 8 coworkers" problem.

Option 1: Workshop (built for this exact use case)

Workshop is a CLI deploy tool where company-email gating is the product, not an enterprise add-on.

npm install -g @getworkshop/cli
workshop login
cd your-project
workshop deploy
# Choose "company domain" access mode

Under the hood: Workshop intercepts requests before your app loads, signs users in via Google or Microsoft OAuth, checks the email domain, and either passes the request through or shows an access denied screen. Your app doesn't need to know anything about auth.

Cost: $19/month. No minimum contract, no IT involvement.

Option 2: Cloudflare Access (free for small teams)

Cloudflare Zero Trust has a free tier that includes email domain-based access policies. It requires configuring a Cloudflare tunnel and putting your app behind it. Takes about 45 minutes to set up for the first time. More powerful but more config than Workshop.

Option 3: Clerk ($0–25/month)

Clerk is a developer auth product. You add it to your app in 20–30 minutes and it handles the OAuth and email verification. The downside: you have to modify your app code to integrate it. Workshop requires zero app code changes.

The right choice for most vibe-coded apps

If you built something with Claude Code or Cursor and you want your @company.com team to use it today: Workshop is the fastest path. Zero code changes, 30 seconds to deploy, $19/month.

If you need centralized IT administration, deprovisioning, and full audit logs: that's when you talk to IT about real enterprise SSO (Okta, Azure AD, Google Workspace SSO).

Try Workshop

Deploy your internal app in 30 seconds.

Free for one app. No credit card required.

npm install -g @getworkshop/cli && workshop deploy

Get early access → getworkshop.io

Related

Deploy Your Claude Code App So Your Team Can Use It
Run workshop deploy and get a URL only your @company.com coworkers can open. No IT ticket, no Vercel enterprise plan. Free for one app.
How to Deploy a Vibe-Coded App Internally (Without Making It Public)
You built it with Claude Code or Cursor. Now your team needs to use it — without it being on the public internet. Here's the 30-second path.
Deploy a Flask App for Internal Company Use (Company Email Only)
How to deploy a Flask or FastAPI app so only @yourcompany.com employees can access it — without IT, without AWS, in 30 seconds.