Forculus

Private hosting for AI-built internal apps

Where the apps your staff build with AI go live

Private behind your company’s sign-in, in one list IT can see and switch off.

Free for three apps and three people. No card needed.

IT’s list of apps: eight apps, each live and private or open to the workspace, who made it, when it was last opened, and its requests and refusals in the last hour
IT’s list of apps. Real product, demo workspace.

The problem

Everyone at work can now build software

Coding agents let anyone build the tool they need. A dashboard for sales, an approvals form for finance, a tracker for the office. Most of it works by lunch. Then it needs somewhere to live.

It goes up on a personal account

Outside the company, under one person’s login and one person’s card.

With a key pasted into the code

The company’s AI or database key, in a file anyone with the code can read.

Behind a link anyone can open

Sent round in chat, forwarded on and never taken down. IT never hears about it.

Blocking the tools doesn’t stop it. Forculus gives the apps a safe place to go live instead.

How it works

One step to ship. Only colleagues get in.

Say “ship it” in Claude Code, Codex or Cursor, or run one command. Forculus works out how to build and run the app and puts it at a private address behind your company’s sign-in.

% forculus deploy acme/pipeline-dashboard --create
a Worker
  because it has index.js
Version 1 (d8e405242065) is live.
https://pipeline-dashboard--acme.forculuslabs-apps.tech
Scan: nothing found (no lock file).

% forculus share acme/pipeline-dashboard --group sales
Everyone in the sales group can now use acme/pipeline-dashboard as a viewer.
From the terminal, or say “ship it” in Claude Code, Codex or Cursor.

Private from the first request

Every request passes our sign-in before it reaches the app. There is nothing to set up and nothing to forget.

No keys in the code

Keys for other services stay with us. We add them to the app’s requests on the way out.

Out within 60 seconds of being removed

Take someone off an app and they lose it within a minute, even in a tab they already have open.

The sign-in page in front of a shared app: Sign in to Forculus, with an email code, a passkey, Google or Microsoft
Colleagues sign in, and it opens.
What someone the app isn’t shared with sees: Nothing to open here, with a link to ask for access
Everyone else sees nothing.

For IT

IT sees every request, allowed or refused

People and agents by name, on every app, with the reason for each refusal.

The live log: each request with when it came, allowed or refused, the person or agent who sent it, the app and path, and why it was refused
The live log. Real product, demo workspace.

Every app in one list

Who made it, who can open it, where it sends data and when it was last opened. Download it as CSV any time.

Someone wants in, the owner decides

Anyone refused can ask for access. The owner approves or denies it in one click.

Every agent named, with an off switch

Agents get credentials of their own and only the apps granted to them. End one and its credentials stop on their next request.

Switch off any app

Owners and admins can unshare or delete any app in the workspace, whoever made it.

An app’s sharing panel: private to the people it’s shared with, and a request for access from jordan.price@example.net with Deny and Approve
A request for access, waiting on the owner.
An agent, Contract review agent, with the one app granted to it and buttons for a new credential, rename and End agent
An agent, the one app it may open, and its off switch.

The platform

It’s already a full platform

Open sign-up on Free, Team and Business. It works inside Claude Code, Codex and Cursor.

Websites and APIs

JavaScript apps live behind company sign-in.

Containers

Python, Go, Rust or anything with a Dockerfile.

Databases

One per app, or your own Postgres with no password in the code.

Files and queues

Storage, key-value data and background work.

Scheduled jobs

Nightly and hourly runs, paused or run by hand.

Previews

A private address for a change before it goes live.

Deploys from GitHub

Or imports from Vercel, Netlify, Replit, Lovable, Bolt, v0 and any git repo.

Sharing like a doc

A person, a group, an email domain or the whole workspace.

Agent identity

Each agent named, logged and able to be switched off.

Company AI keys

Added to each request, with a monthly budget per app.

Deploy scans

Every deploy checked for leaked keys and vulnerable packages.

Company SSO

Your identity provider signs people in, and SCIM adds and removes them. An Enterprise feature, included on Business for early customers for a limited time.

One call to know who’s there

One line in your app tells it who is signed in. Our libraries for Node, Python, Go and Rust check our signature for you.

import { requireUser } from "@forculus/sdk";

export default {
  async fetch(request, env) {
    const user = await requireUser(request, env);
    return new Response(`hello ${user.email}`);
  },
};

Pricing

Free to start. Viewers never need a seat.

Every plan is priced per workspace, by the month. People you share an app with as viewers don’t count toward it.

Free

$0

For one builder trying it out.

  • 3 apps and 3 members
  • JS, TypeScript and static apps
  • No card needed
Start for free

Team

$49a month

For a team that ships tools to the rest of the company.

  • 25 apps and 25 members
  • 1 container app
  • 3 custom domains
Start on Team

Business

$215a month

For a company where IT needs to see all of it.

  • 200 apps and 200 members
  • Audit log kept 12 months
  • SSO and SCIM in early access
Start on Business

Enterprise

Contact us

For a company that signs people in through its own identity provider.

  • Higher limits, set with you
  • SSO and SCIM with no time limit
  • A DPA negotiated with your company
Email sales

Prices are in US dollars, billed monthly. Tax is extra. Compare every plan

Yun, the Forculus mascot, waving hello

Give the apps your staff build a safe place to go live

Free for three apps and three people. No card needed.