Architecture

Does every customer get their own rules?

That is the question an enterprise architect asks first, and the answer decides the tenancy model, the isolation story and the commercial shape. The answer is: shared where the logic is universal, private where the content is yours, and never the two mixed.

evidence-pack.json accept
// returned by the lane, signed before it is returned
{
  "verdict": "accept",
  "lane": "dela.evidence-change",
  "reason": "material change in coordinates; 3 dependent analyses affected",
  "inputs": {
    "current":   "sha256:9f2c…a71d",
    "candidate": "sha256:4b80…c2e9"
  },
  "impact": {
    "affected":  3,
    "preserved": 41,
    "replayed":  3,
    "held_for_review": 1
  },
  "deterministic": true,
  "chain": { "index": 18274, "prev": "sha256:0c15…8fa2" },
  "sig": "ed25519:7d41c0…9b3e"
}
Verify with the published key. No source access required. Replayable

Every verdict records the exact rule version and input hash that produced it, so a result stays reproducible after the rule changes.

Read this first

What is built, and what is a proposal

Most architecture pages blur the two. This one labels every claim, because an architecture reviewer who discovers halfway through that the diagram is aspirational stops reading, and they are right to.

Observed

Implemented and evidenced today, including in a third party's integration.

Proposed

A recommended target design. Not built. Stated as a direction, not a capability.

To validate

A claim or detail that needs a test, a diagram, a cost record or a named owner.

The honest headline

The verification engine and its gates are implemented and have been integrated and tested by a third party. The enterprise scaffolding around them, tenant identity, rule governance workflow, formal isolation testing and a cloud reference deployment, is largely proposed. This is ready for an architecture validation sprint. It is not yet production-grade enterprise infrastructure, and we would rather say that here than have it discovered in a review.

Rulebook

Compositional rule resolution

Not one rulebook per customer, and not one rulebook for everyone. Three layers resolved at request time, with tenant identity established before resolution begins.

CORE

Shared core rules

Shared across all tenants

Universal, non-sensitive logic. Unit conversions, mathematical invariants, chemistry, structural checks. Identical for everyone.

Owned by: EcoKure owns and versions it.
PACK

Industry packs

Shared within a sector

Sector-specific rules that are common within a sector but not universal. Regulatory mappings, sector thresholds.

Owned by: EcoKure owns, with domain review.
OVERLAY

Tenant overlays

Tenant-scoped, deny by default

Customer-owned rules. Private thresholds, internal references, restricted data policy. Never visible to another tenant.

Owned by: The customer owns it.

Where the line sits

A rule can be shared when its content is universal and non-sensitive. A unit conversion is the same in every organisation on earth. A private threshold, an internal reference or a restricted data policy is yours, lives in your overlay, and is not available to another tenant under any circumstances.

Rule governance

What a rule has to carry before it can run

A deterministic checker is only as trustworthy as the process that admits a rule into it. This is the minimum record.

FieldPurpose
rule_idStable identifier.
scopecore, industry_pack or tenant_overlay.
ownerThe person or organisation accountable for correctness. Not optional.
versionImmutable, and recorded inside every verification result.
effective_from / effective_toTime validity, so a regulatory change has a date rather than a deployment.
input_schema / output_schemaWhat the rule accepts and what it returns.
test_casesExpected pass, fail and boundary outcomes. Also not optional.
approval_stateDraft, reviewed, approved, retired.

The governance rule

No rule version becomes active without an owner, test cases, a review status and an effective date. Not as a policy statement, as a precondition the system enforces. A rule nobody is accountable for is a liability wearing the costume of a control.

Reproducible after the rule changes

Every verification result stores the exact rule version and the input hash used to produce it. When the rule changes later, the original decision can still be reconstructed as it stood, which is the whole point of a control lineage layer rather than a policy document.

Tenancy and isolation

Difficult by construction, and testable

The right-hand column is the important one. Each control names the artefact a reviewer should ask us to produce, rather than the assurance we would otherwise offer instead.

ControlImplementationEvidence a reviewer should demand
Tenant identitySigned token or OIDC identity maps to a tenant and a role.A request trace showing the tenant binding.
Rule isolationCore shared; private overlays in a tenant namespace with authorisation checks.A cross-tenant negative test.
Data isolationTenant on every request, audit record and private object. Deny by default.The data model and the access policy.
EncryptionTLS in transit, managed keys at rest, customer-managed keys as an enterprise option.A written key and secret ownership decision.
AuditabilityRequest id, actor, rule version, result, timestamp and reason code.A sample audit event and the retention policy.
Operational separationSeparate development, staging and production. No production data in test.An environment diagram and the deployment policy.

A boundary we will not blur

EcoKure should not be described as privacy-preserving merely because the evaluator is deterministic or can run offline. Those are properties of the engine, not of your data. Privacy depends on what enters the system, where overlays and evidence are stored, who can read them, and how deployments are isolated. Any vendor who conflates determinism with privacy is telling you something that sounds reassuring and is not an answer.

Deployment

One engine, several shapes

Preserving one core engine across deployment forms is what avoids forcing every customer into the same data and network model. It is also why we can say the product is portable without that being a marketing line.

StagePrimary interfaceWhy it fitsStatus
Pilot Private API Fastest path to demonstrating value, governance and usage figures. Observed
High-isolation customer Embedded package or customer-hosted service Rule evaluation and data stay inside the customer's environment. Proposed
Scaled product Managed service plus enterprise private deployment Commercial flexibility once the controls and the support model are proven. Proposed

The recommended starting point is a private API with a package-ready core. That is a starting point, not a commitment to one permanent hosting model, and the distinction matters to anyone whose data cannot leave their network.

Before this is enterprise-grade

The validation sprint, stated as work rather than as a claim

  • One rulebook schema implemented, with the governance preconditions enforced rather than documented.
  • One cross-tenant negative test that a reviewer can watch fail correctly.
  • One latency and throughput benchmark with the environment, hardware, version and repeatability package attached, because a number without those is not a benchmark.
  • One deployed pilot path, end to end, in a customer-shaped environment.
  • Current hosting, account topology and production network documented. Today they are not, and that must be settled before any cloud migration or credit conversation is finalised.
  • Retention, immutability and customer export policy for evidence, decided and written down.

Why this list is public

Because an architecture reviewer will produce it in the first hour anyway, and a company that hands it over unprompted is easier to work with than one that has to be walked into it. If you are that reviewer and this list is missing something, that is the most useful message you could send us.

Request the full architecture brief

The reference architecture, the gate interface surface, the tenancy control detail and the open decisions, sent under a mutual NDA. It is written for review rather than for persuasion, and it labels every proposal as a proposal.

Next · See where it runs Deployment