Dana Okafor
dana@acme.com
Company login
Every TeamOnly app sits behind your company’s Google Workspace or Microsoft 365 login. Coworkers use the account they already have. Everyone else is turned away before your app loads. You set none of it up.
01Coworker
They open the link, click “Sign in with Google” or “Sign in with Microsoft”, pick their work account, and they are in the app. It takes a few seconds, and next time they are already signed in.
02Outsider
Someone with a personal account, a contractor on another domain, or a bot that found the link. They get as far as the sign-in screen and are turned away there. Your app’s code never runs for them.
03Passwords
A password on the whole app is better than nothing. For a team, it falls apart fast.
04Doing it yourself
You can absolutely build this yourself. Here is what it involves, so you can decide.
Make a project in Google Cloud, set up the consent screen, create credentials, add redirect addresses for every place the app lives, and keep the secret safe.
The common mistake: using the hd parameter and stopping there. It only hints which accounts to show. The domain must be checked on the server.
Register the app in Microsoft Entra, choose who can sign in, and handle its tokens.
The common mistake: picking “any organization” so the setup works, which lets in work accounts from every company.
Cloudflare Access is free for up to 50 users. You connect your identity provider, then write policies for each app.
The common mistake: a policy that allows a bit too much, or a new app deployed without one.
A door marked Staff only stands in front of the expenses app. Sam, signed in as sam@acme.com, is checked at the door and walks in. Next, randomperson@gmail.com and a bot are checked at the same door and turned away. They never reach the app, because the check happens at the door, before the app.
05Who can open it
Each app is open to everyone at your company by default. On the Team plan you can narrow an app to a list of email addresses, like the finance team for the expense approver.
Whoever gets in, your app is told their name and email, so it knows who did what.
06Offboarding
When their work account is turned off, they can’t sign in to your apps again. Nobody has to remember to remove them from each tool.
There are no extra accounts or seats for the people who use your apps, so there is nothing else to clean up. For IT, there is more on offboarding and ownership on the For IT page.
Yes, and with TeamOnly you don’t set anything up. When you create your organization you confirm your email domain, for example acme.com. From then on only Google accounts on that domain can open your apps.
No. Google’s hd parameter only tells the sign-in page which accounts to suggest. Anyone can remove it. The domain has to be checked on the server after sign-in, using the verified token. TeamOnly does that check on every sign-in.
That works too. Coworkers click “Sign in with Microsoft” and use their work account. Only accounts from your organization get in.
They are turned away at the sign-in screen with a short message saying the app is only for your company. Your app never loads for them.
Yes. Each app is open to the whole company or to a list of email addresses you choose. Per-app lists are part of the Team plan.
Early access
We are new and not open yet. Leave your work email and you will be one of the first teams to deploy.
Want to tell us what you are building? Use the longer waitlist form. Questions go to hello@teamonly.dev, and a person answers.