TableCore

Plans and Pro features

Who may use the Free plan

Free is a smaller licence, not only a smaller feature set. You may use it if you are an individual working on your own projects, studying or otherwise not doing it commercially, or if you are an organisation whose total annual revenue is below $1,000,000. Above that figure, every person using TableCore for the organisation needs Pro — or Enterprise, once it exists.

Revenue means everything the organisation takes in over its last completed financial year, counted across the whole group rather than the one entity, and not only the part connected with MongoDB. Section 7 of the Terms is the binding version, and it also gives an organisation that grows past the threshold 60 days after the end of that financial year to move to a paid plan.

Nothing in the application checks this

There is no revenue field, no company-size question at sign-up and no capability that disappears when a company grows. The entitlement system knows about plans and capabilities and nothing else, so eligibility is a term of the licence that you assess, exactly like the licence restrictions that were always in the Terms.

The public website, this documentation and the browser converter stay free for everybody, whatever the revenue.

What is gated, exactly

Six operations require Pro. Everything else does not.

Requires ProPage
Create a backupBackups
Restore a backupRestoring a backup
Migrate dataTransferring data, Migrating from SQL
ExportTransferring data, Exporting results, GridFS
ImportTransferring data, GridFS
Reshape a collectionReshaping collections

Available on every account, including with no account at all:

The pattern is deliberate: reading, querying and everyday collection work are free. The operations that move bulk data in or out are Pro.

The trial

One 7-day trial per account, once. It is not per machine and it does not come back. Start it from the plan page in your account panel.

What a locked control looks like

A gated menu item is not disabled outright — it stays focusable and hoverable, does nothing when clicked, and keeps the menu open so you can read the tooltip explaining the lock. A disabled element receives no pointer events, so its tooltip would never appear, and the tooltip is the only thing explaining what is going on.

The greyed control is a hint, not the guard. Every action that opens a gated dialog checks the entitlement again in the dialog itself, so a different route in cannot get past the lock.

Where entitlements come from

Not from a settings file. Earlier the level sat in settings.json and was read rather than checked, which meant every gated feature was protected by a value the user owned — one line of JSON gave you Pro.

Now the application asks whether a capability is granted, and capabilities come from a document signed by the account service with an ECDSA P-256 signature. The signature covers exactly the bytes that arrived, so nothing depends on two serializers agreeing about key order.

Signed entitlements are not deployed yet

The signing key does not exist and the release build carries no public key, so nothing verifies and every release grants Free. That is a safe state rather than an oversight: with no trusted key, nothing can be verified, so nothing can be granted by accident.

Until that changes, a Pro purchase does not unlock anything in the desktop application. If you are reading this before the entitlement chain is live, that is the current answer.

An honest boundary

A local client can always be patched. Signing the entitlement document raises the cost from edit a JSON file to modify the binary, and that is the only way it may be described. It is not tamper-proofing, and no obfuscation is built on top of it.

entitlement.json in your data directory is a plain file you can open and edit. That is fine, and it is the reason the format is a signed envelope: a modified document fails verification, and a document that fails verification gives you Free.

Enterprise

Enterprise is shown as Coming soon and cannot be purchased. Teams, seats, SSO and shared connections do not exist. See Pricing.