Articles/Product

Opt-In Architecture: Building Software That Ships With Features Turned Off

The hardest product discipline is restraint. How SemplCRM's add-on framework keeps the core calm while supporting fourteen integrations.

July 14, 2026·9 min read·By Impartial AI Tech

The hardest discipline in product engineering isn't building features — it's shipping them turned off. SemplCRM supports a point of sale, an online store, booking, and a fourteen-provider integration marketplace, yet a new workspace sees none of it. Just contacts, pipeline, invoices. Here's the architecture that makes restraint possible.

Installed is not the same as working

The core rule of our add-on framework: the system never blurs 'installed' with 'working.' Every add-on declares its requirements, the server evaluates them against the workspace's actual state, and the marketplace reports the gap in plain words with a link that fixes it. An owner who turns on a till and walks to the counter with an empty catalogue has been failed by the marketplace — so the marketplace tells them before they get there.

Boundaries that fail closed

Install state is an enforced boundary, not a hidden menu item. A workspace that never installed the point of sale cannot write sales by discovering the endpoint — the API refuses. The same is true of the store's order desk and the public shop page. Every gate fails closed, because a feature that's 'off' but reachable isn't off; it's a liability.

One registry, no rebuilds

All fourteen integrations — payments, calendars, storefronts, accounting, social — live in a single registry that declares each provider's auth flow, credentials, and status. Flipping one live is configuration, not a rebuild. The connect endpoint refuses any provider that isn't both live and configured, so nothing goes live by accident.

Why this is harder than shipping everything on

Opt-in architecture costs more to build. Every add-on needs a readiness model, every route needs a gate, every gate needs tests that prove it fails closed. The lazy path — ship everything enabled, let users ignore what they don't need — is why legacy CRMs feel like cockpits. The disciplined path is why SemplCRM feels calm.

Restraint is a feature. It just has to be engineered like one.

See Adaptive XI Intelligence in action

Tell us about your project. We will respond within one business day.

Start a Project →