MirrorMere®

Integrate

Don't build a validation engine. Hand the checking over.

MirrorMere does not write your XBRL — it checks it. Your screens, your workflow and your deployment rules stay exactly as they are, and the checking happens underneath.

How you can integrate today

Stated at its actual readiness.

Nothing here is described as available before it is. A roadmap item is labelled as one.

Available

Java SDK

Add one jar to your build and call it. No agent, no service to run alongside.

Available

CLI & batch

One executable jar you run from the command line or a batch job. Drops into a pipeline you already have.

Available

Container & private deployment

Works with no constraints inside a closed network. Nothing about your documents leaves it.

Commercial discussion

OEM & white label

Embed it in the solution you already sell, in whatever shape fits. Terms are agreed case by case.

Planned

REST API

An XBRL API over HTTP is planned for the second half of 2026.

MirrorMere stays out of sight.

Java SDK

What came back tells you where, why, and what to look at.

What you get back is not a list of error codes. Each finding says where in the document it is, which clause it breaks, and therefore what the person holding the filing needs to look at. It arrives the same way whether Dimensions caught it or Inline XBRL did, so you can put it straight in front of them.

ValidationOutcome outcome = validator.validate(report);

for (ValidationFinding f : outcome.errors()) {
    f.code();      // what went wrong
    f.specRef();   // the clause it breaks
    f.location();  // where in the document
}

One call, and everything a reviewer needs is already in it: where, why, and what to fix.

CLI & batch

Three commands do the whole job. You need nothing else.

validate
Checks a filing. Hand it a submission package, a set of Inline XBRL files, or a single document — several files that belong to one filing are checked together as one.
cts
Runs the published standard tests yourself — all of them, or just the part you care about. This is where the numbers on the certification page come from.
doctor
Checks the machine before you trust a result: are the taxonomies where they should be, is the environment sound? A missing file shows up here as a setup problem, not later as a clean pass.

Closed networks

Your customers' network, not an idealised one.

Finance and audit teams often work on networks cut off from the internet. Many engines quietly need to reach out to the web to fetch what they validate against — and when they cannot, some stop, and some carry on checking less while saying nothing. MirrorMere never reaches out at all.

  • Taxonomies are supplied as files you hold yourself. Nothing is fetched at run time.
  • If something it needs is missing, it says so. It does not pass the document instead.
  • Each run records which taxonomies it used, so two machines that disagree can be compared instead of argued over.
  • No outbound traffic of any kind — no usage reporting, no licence check.

If you already use an open-source tool

Open source is a fine choice.

Free, open-source XBRL validators exist, and some hold the same Validating Processor certification we do. If checking a filing now and then is all you need, they will do it. Selling a product with validation inside it asks for three more things.

A library, not a program to run alongside

MirrorMere is a pure-Java library built to live inside your product: one file in your build, called straight from your own code. No separate process to keep alive, no bridge to maintain.

There is someone to ask

When a specification is revised, keeping up is our obligation, not something you wait on. And when you are stuck, the question reaches the people who wrote the engine.

It answers why

MirrorMere reasons over an ontology of XBRL itself, so a finding arrives with where it is, which clause it breaks, and what to change — in language the person holding the filing can act on.

You do not have to choose. Running both and comparing is a reasonable thing to do — when two independent implementations reach the same verdict, that agreement is itself evidence.

Standards commitment

The specifications keep moving. Keeping up with them is our job, not yours.

This is something you install once and live with for years. So when a specification is revised we follow it, nothing ships until it has passed the standard tests again, and when you have a question it reaches the people who build the engine.

Nothing ships until the tests pass

Every release has to clear the full standard suites first. A change that breaks one of them never reaches you.

A revision touches one module

When a specification is revised, only its module changes. The rest of what you rely on stays where it was.

Error definitions live in one place

What each error means, and the clause behind it, sits in one place rather than scattered through the code. When a specification changes there is a single place to update — quicker to apply, harder to miss.

Versions
Every result carries the version that produced it. If an answer changes months later, you can see what changed rather than argue about it.
Keeping up with the specifications
When a specification or its test suite is revised, the whole suite is re-run before anything is released.
Support
Direct technical contact with the people who build the engine, not a ticket queue in front of them.
Deployment
On-premises and closed-network deployment is the normal case, not an exception that needs negotiating.
Evaluation licence
A licence that covers the whole evaluation period, with no seat or volume limit while you are testing.
Third-party licences
Third-party libraries and their licences ship with the product, ready to hand straight to your legal review.

The hunt for “why” goes away.

Start here

Tell us what you are building.

Tell us what you are building and where it is getting stuck, and we will work through it with you. That is the part worth buying — not the jar.

  • You get the engine, the command-line runner and the test tooling — the same build we run ourselves.
  • Run it against your own filings, not a sample we picked.
  • Every number on this site is yours to reproduce — the suites are public and the runner is in the package.
  • A non-disclosure agreement comes first, before anything changes hands.

Prefer email? Write to us directly. manager@codebplat.co.kr