Greyquill / GQ Data
GQ Data · Overview

What GQ Data is, and how it stays reusable.

How the platform is layered, the path every record travels, and the design decision that lets one engine serve any industry without a fork.

Vertical = Insurance Claims
The platform

Four layers, a stable core, customized on top

Greyquill is an enterprise trust & governance platform. GQ Data is the foundation everything else depends on, so it's built first as a standalone product. The other three layers talk to it only through documented contracts, so they build in parallel.

GQ Data
Enterprise data-truth layer, ingest, resolve, classify, lineage, quality, governed API.
◀ current focus
GQ Govern
Policies, controls, approvals, evidence + the Diagnose role. Talks to GQ Data via contracts only.
GQ Agents
Governed workflow execution.
GQ Studio
Business-specific customization layer (low-code + optional code).
Why this matters for direction: building GQ Data alone, with contracts as the boundary, is what lets the rest of the platform proceed without coupling. We're working on the right layer first.
GQ Data

The governed pipeline

Every record flows through the same path, whatever industry it belongs to and whichever system it arrived from.

Sourceany system
Ingestgateway + connectors
Raw Recordimmutable
Resolvematch + merge
Golden Record+ field provenance
Graph API+ audit pack

Six modules

Ingest · Resolve · Classify · Lineage · Quality · Graph API. Every record passes through the same six, whatever the industry.

MVP proof

Ingest a duplicated policyholder from 2 sources, resolve to one golden record, and answer "how did this get here?" in a single query with a signed audit pack.

The key design decision

Domain-agnostic core + verticals as loadable data

This is the answer to "make it reusable for any use case." The engine knows nothing about insurance. A vertical is a pack, pure data declaring entity types, match keys, survivorship & quality rules. Adding BFSI or healthcare means writing a new pack, with no change to the engine.

Stable core

Generic primitives and strategy interfaces, registered by id. No entity is ever named here, so the engine carries no knowledge of any one industry.

Vertical pack

A pack is data. It names the entities and references core strategies by id.

entities: PolicyHolder, Policy, Claim
match keys, survivorship and quality rules
a new industry is a new pack, not a fork
The rule we hold to: if the core has to name a business entity, that entity belongs in a pack. The platform refuses to load a pack that references a strategy it does not recognise, so the boundary cannot quietly erode.