Designing a Configurable Platform Architecture

January 30, 2026

Designing a Configurable Insurance Platform Architecture: A Case Study

When our team joined a growing insurtech platform as architecture advisors, the challenge was clear. The platform had to be far more than a basic quote comparison tool; it had to seamlessly serve multiple stakeholders – from consumers and insurance partners to internal operations – without turning every small change into a full engineering release. This is a common scenario for many ambitious startups building insurance distribution platforms. They must handle everything from customer quote comparisons and policy purchases to partner product configuration, payments processing, and policy issuance, all in a secure and scalable manner.


To meet these goals, we adopted an architecture that is intentionally modular and independently deployable, yet unified by a shared insurance domain model. In practice, this meant splitting the system into distinct applications (for example: a consumer-facing app, a partner portal, a core API service, content management, etc.), each isolated but working together through well-defined interfaces.


Why go modular? By decoupling the platform into separate services and frontends by role and concern, each part can evolve at its own pace. The consumer-facing application can iterate quickly to improve user experience. The partner portal for insurers or agents can have its own release schedule, enabling frequent product updates without affecting customers. The core API and backend services can focus on business logic, data consistency, and integration with third-party systems. This reduces risk – a change in one area (like adding a new insurance product) doesn’t necessitate redeploying the entire platform or introducing unintended side effects elsewhere.


Keeping Business Logic Behind the API – Protecting IP and Agility

One of our first major recommendations was to keep the customer’s front-end experience as lightweight as possible. In concrete terms, the customer-facing web application was built as a modern single-page app (using React + Vite), focused on the user journey: capturing quote details, comparing insurance options, guiding the user with chat assistance, and handling checkouts and policy retrieval. However, crucial business logic – especially insurance pricing algorithms, product rules, and provider configurations – was deliberately kept out of the browser.

Why make this distinction? Pricing rules and product configurations in insurance can be commercially sensitive intellectual property. If we had pushed all of that logic to run in the customer’s browser, it might have made initial development easier, but it would compromise security, maintainability, and even competitive advantage. By keeping the complex product model and rating algorithms on the server side (behind the API layer), the platform ensures that proprietary formulas and partnership data remain protected. This approach also means that changes to pricing or product rules can be made on the server and rolled out immediately – without requiring an app update for users or exposing logic that could be reverse-engineered. In short, this was an investment in long-term flexibility and security over short-term convenience.


Decoupling Partner Configuration from Customer Flows

Our second major architectural decision was to separate the partner configuration lifecycle from the customer-facing application lifecycle. The platform’s partner portal (often called a product studio for insurance partners) allows insurers and product managers to model their offerings – defining insurance products, coverage options, question flows, pricing rules, and product states. However, the customer quoting API does not fetch these configurations in real-time from the partner portal with every quote request. Instead, the platform implements a controlled configuration synchronization pattern.

How it works: When a partner publishes a new or updated insurance product in the partner portal, the platform normalizes and packages that product configuration via an automated pipeline. Essentially, the system compares the new configuration to the current production version (using hashing and versioning), and if changes are detected, it triggers a managed sync process. This process bundles the updated product rules and data into a deployable artifact (in our case, an AWS Lambda Layer – a versioned container of code/data) through a serverless orchestration workflow. The updated configuration package gets attached to the quoting service’s runtime environment, such that the quote-generation functions load the latest product configuration at startup. The changes are then cached in-memory for fast access during quote calculations.

Why do this? This approach carefully balances freshness and stability. Reading directly from the partner configuration store on each quote request might offer real-time updates, but it introduces runtime coupling between the live quoting process and the authoring system – raising risks of latency, inconsistent experiences for customers, and complicated debugging. On the other hand, forcing every configuration change to go through a full application redeployment would slow down business agility, since even minor product tweaks would need engineer involvement and operational overhead. Our configuration sync pattern provides a happy medium:

  • Consistency and auditability: Every published product setup is hashed and versioned, ensuring that the quoting engine uses a deterministic, traceable configuration snapshot. If something goes wrong with a new product setup, the team can roll back to a previous known-good version quickly.
  • Operational independence: The consumer-facing experience isn’t directly dependent on the partner portal’s uptime or performance. The quoting API always has a local, in-memory copy of the latest published product rules, unaffected by any issues or maintenance happening in the partner system.
  • Controlled speed of change: While not "real-time," the synchronization is automated and swift (e.g. within minutes or faster), giving partners near-immediate updates to their products in production. At the same time, the slight delay creates a buffer for validation and governance, so all changes go through a promotion pipeline with checks instead of instantly affecting users.


This decoupling of lifecycles means that the platform can incorporate continuous product innovation without compromising the stability of the core customer experience. Partners feel empowered to iterate on their offerings, and the business can onboard new insurance products or adjust pricing logic quickly – all while customers enjoy a consistent, high-quality experience.


Security and Ownership as First-Class Concerns

From day one, we treated security and data ownership as tier-1 architectural considerations. Insurance deals with sensitive personal information and financial transactions, so the architecture needed robust safety measures baked in at every layer:

  • Strong Identity & Access Control: We integrated a managed identity platform (like AWS Cognito) to handle authentication securely, along with role-based access controls. For data storage (for example using cloud databases like Amazon DynamoDB or relational stores), we implemented owner-based access rules. This means customer records (quotes, policies, submissions) are inherently tied to their creator’s identity, and the system automatically enforces that only authorized users – like the record owner or a permitted admin – can access each resource. This approach drastically reduces the risk of data leakage across customers or partners.
  • Custom Authorization for Multi-Tenancy: Some API endpoints require extra checks beyond basic identity. We used a dedicated API gateway authorizer to validate that, for instance, an insurance partner or internal operator only accesses data that they should (e.g., only quotes related to their own customers or region). This extra layer of security ensures that any attempt to bypass the front-end and directly call backend APIs still won’t expose data or functions to the wrong party. Such defense-in-depth is essential in regulated environments like insurance.

By designing with clear security boundaries, the platform can safely handle multiple roles (customers, agents, underwriters, support) in one environment without risk of cross-access – a critical requirement in financial and insurance systems.


Hiding Complexity: Integrations Behind Stable APIs

Modern insurance distribution involves a lot of moving parts – payments processing, digital wallet integration, vehicle data lookups, CRM systems, content management, and more. Rather than letting these external dependencies creep into the front-end or client side, the platform’s API layer fronts all such third-party services. This means the customer app and partner portal interact with a singular, stable, domain-specific API for all their needs, while the API itself handles orchestrating calls to external services like payment gateways, insurance policy issuers, content management systems, and so on.

This design brings two big benefits:

  • Simplicity for front-end development. The client applications don’t need to handle a patchwork of different external protocols or SDKs; they just speak a consistent language with the platform’s API. This allowed front-end developers to focus on a great user experience and domain-specific flows, rather than wrestling with the nuances of various third-party integrations.
  • Security & maintainability. By keeping all third-party credentials and interactions on the server side, we reduce security exposure – API keys and secrets never touch the user’s browser. Plus, if one external service updates their API or has an outage, the changes are isolated within the integration layer. The core platform can adapt without breaking the overall experience, as long as the internal API contract remains consistent.

Essentially, the API acts as a protective and simplifying façade, giving the platform freedom to swap out providers or add integrations without having to rewrite the front-end or risk leaking implementation details.


AI as a Bounded Feature, Not a Free-for-All Chatbot

During the project, there was also an opportunity to infuse the platform with AI capabilities, for example, to help users compare insurance options or assist with form filling through an AI agent. Our guidance was to treat this AI component as a bounded, product-specific feature rather than an open-ended chatbot. That meant carefully constraining what the AI assistant could do and see, depending on context. For instance, in the quote comparison screen, the AI can explain differences between insurance options and point out relevant policies. In a quote intake flow, it might help users by retrieving existing saved data or guiding them through the questionnaire – but always within predefined roles and using only approved data and actions.

By architecting the AI as a tool-using assistant with domain-specific modes, the team maintained control over the AI’s output and ensured compliance with regulatory boundaries (e.g., not offering unqualified advice, not hallucinating non-existent coverage details). The AI feature is implemented with robust prompt design and oversight (leveraging managed services and large language models in a controlled fashion), making it a reliable part of the product rather than a risky experiment. This approach underscores an important principle: in a serious domain like insurance, AI is most valuable when carefully integrated into the platform’s architecture with clear constraints and goals.


Architectural Outcomes and Lessons

The resulting platform architecture was built around clear ownership and separation of concerns, with each part of the system having distinct responsibilities:

  • Consumer Application: Handles the user journey (quote input, comparison, checkout, claims, etc.) and the overall user experience. It’s a lightweight web application prioritizing responsiveness and clarity, while delegating heavy business logic to the backend.
  • Partner Portal: Provides insurers and distribution partners with a product studio to define insurance products, manage pricing rules, and oversee their offerings. It supports partner operations like product configuration and lifecycle management independently of the consumer app’s deployment cycle.
  • Core API & Backend Services: Enforces all business logic, pricing calculations, policy issuance workflows, payments processing, and integration with external services. It acts as the central brain and gatekeeper of the platform – ensuring security, consistency, and providing a stable set of domain APIs for the frontends to use.
  • Data & Identity Layer: Utilizes secure identity management (for user login, partner access, admin roles) with fine-grained data ownership rules. All customer data and policy records are stored in multi-tenant databases (such as a NoSQL store), with the architecture ensuring each user or partner can only access their own data unless elevated privileges are explicitly granted.
  • Configuration Orchestration: A governed configuration promotion mechanism (using cloud orchestration tools, e.g. serverless functions and pipelines) that monitors product changes in the partner portal, validates and packages them, and safely deploys updated configuration to the quote engine. This ensures the system’s behavior is both easily adjustable and auditable.
  • Content & Extensibility: A headless content management system and developer documentation site accompany the platform. This supports marketing needs (for example, a marketing website) and provides a space for internal documentation or partner integration guides – helping the overall ecosystem evolve.


Throughout the project, we kept coming back to a guiding question: where should change happen in the system? This turned out to be the most pivotal architectural decision of all. We deliberately placed different kinds of change in different parts of the architecture:

  • User-facing experiences can change rapidly (through frequent updates to the web UI and app without high risk to the core business integrity).
  • Insurance products and business rules can change via configuration through the partner portal without requiring full deployments.
  • Pricing algorithms and integration logic change only on the server side, under rigorous testing and version control, preserving trust and consistency.
  • AI behavior evolves in controlled increments, rolled out carefully as a product feature.


By deciding these boundaries early, we provided the platform with a blueprint for sustainable evolution. Each layer can innovate at its ideal pace and level of governance. The customer-facing app can experiment and improve UX continuously. The partner experience can empower insurers and agents to iterate on products swiftly. And the core backend remains a source of truth that is secure, audited, and modifiable by the engineering team without client disruption.


In summary, the strength of this architecture lies not in any single tool or framework, but in the clarity of its separation of concerns and its strategic approach to change management. The platform is now robust enough to meet rigorous industry needs: modular enough for the engineering team to extend without major refactoring, configurable enough to onboard new insurance products and partners rapidly, fast and friendly enough to satisfy end-users with immediate quotes and smooth service, and secure enough to handle sensitive data and workflows in a regulated space.



For technical founders and CTOs, we believe this case underscores the key principle: design your architecture with a keen eye on where change will occur as you scale. By laying down modular components and clearly defining which parts of the system own which responsibilities (and thus, where future changes should be made), you create a platform that evolves gracefully. This approach not only avoids costly rewrites but also yields a durable competitive advantage — the ability to adapt quickly to market needs and opportunities without sacrificing stability or control.


By Jeni Tennison, GDS Responsible AI Advisory Panel Chair, Executive Director, Connected by Data June 18, 2026
How is government using AI responsibly? Insights, challenges and next steps from the GDS’s Responsible AI Advisory Panel.
By Dan Hesse, Senior Product Manager June 4, 2026
Good AI starts with good data. We partnered with The National Archives to explore how data maturity can prepare legal data for AI use. Here's what we found.
By Alan Maddrell - Senior Content Designer for GOV.UK Pay, Government Digital Service June 2, 2026
GOV.UK Pay has a new provider for non-Crown card payments and pay by bank. Find out what this means for public sector teams.