MirrorMere®

XBRL International Certified Validating Processor

XBRL, built as an ontology. So it tells you where and why.

A pure-Java XBRL validation engine. It goes into the product you already sell — as an SDK, a command-line runner, or a private on-premises install.

The problem

The time goes into hunting for what is wrong.

XBRL validators are good at saying no. They rarely say where, almost never say why, and rather than tell you what to change, they hand the job back to you.

  • An error code lands, and nothing tells you which file or which line it came from.
  • Working out what it even means takes a trip through the specification.
  • And once you know what is wrong, still nobody says what to change.
  • So every question from the filing team comes back to your developers.
  • And after an upgrade, what passed yesterday quietly fails today.

Meanwhile, the filing is due.

What MirrorMere does

It does not stop at “no”.

All three come with a single finding, worked out on the spot as the validation runs — and they come out inside the product you already sell. Your screens and your workflow stay untouched.

Where it went wrong

Which file, and where in it. No hunting.

Why it is wrong

Which rule it broke, and the clause that rule comes from. No trip through the specification.

What to change

Written so the filing team can act on it themselves. No need to pull in a developer.

Why Path

Every verdict leaves the path it took.

MirrorMere records the path a finding took. Everything below is verbatim output from a real run, against a published test case anyone can obtain.

[C015] ixe:illegalMultipleUseOfId: ID 'duplicateID' is used 2 times in IXDS.
        Locations: …/tests/ids/FAIL-non-unique-id-nonFraction-ID1.html,
                   …/tests/ids/FAIL-non-unique-id-nonFraction-ID2.html

Source: XBRL International Inline XBRL 1.1 conformance suite (2020‑04‑08), test 1904 FAIL-non-unique-id-nonFraction — expected result invalid. Only the leading directory path is shortened to fit; the wording is unchanged.

The MirrorMere validation report with one test case opened, zooming into its Why Path panel: the term link:label typed as a resource, and a four-step trail — input, rule, and two violations, each carrying the XBRL 2.1 clause it is bound to.
A different finding, seen inside the engine's own report. Produced by running the suite, not redrawn for this page.

Integrate

Your interface. Your workflow. MirrorMere stays out of sight.

One file in your build and you are done. Each specification is its own module, so you can take only the ones you deal with — and whichever one catches a problem, the answer comes back in the same shape.

Available

Java SDK

One file in your build, called straight from your own code.

Available

CLI & batch

A single executable jar for scripted and scheduled runs.

Available

Private deployment

Runs fully offline. No outbound network access is required or attempted.

Planned

REST API

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

// One result type, whichever specification produced it.
ValidationOutcome outcome = validator.validate(report);

if (!outcome.isValid()) {
    for (ValidationFinding f : outcome.errors()) {
        f.code();      // ixe:illegalMultipleUseOfId
        f.specRef();   // Inline XBRL 1.1, Section 4
        f.location();
    }
}

A check that was never executed is never reported as valid. “Not checked” and “checked and clean” are different answers.

Certification

Tested and certified by XBRL International.

XBRL International grants certification after reviewing the full conformance results, and publishes who holds it. Anyone can look us up.

21,613
standard tests passed
0
failed or errored
0
reported as not executed
16
test suites

21,613 test cases across every published suite, run in one pass — test cases, not filings. Certification covers conformance to the specifications listed: it is not a warranty of product quality, nor a guarantee that any particular regulatory submission will be accepted.

Get in touch

Put it inside the product you already have.

Tell us what you are building and how you would want to integrate. We reply directly.

manager@codebplat.co.kr