MirrorMere®

XBRL International Certified Validating Processor

XBRL validation that says where the problem is, and why.

A pure-Java engine built on an ontology of XBRL itself. It goes into the product you already sell as an SDK or a command-line runner, and deploys on-premises or air-gapped.

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.

Meanwhile, the filing is due.

What MirrorMere does

It does not stop at “no”.

Worked out on the spot as the validation runs, 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

MirrorMere stays out of sight.

Each specification is its own module, so you can take only the ones you deal with.

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();
    }
}

Certification

21,613 conformance tests, all passed.

XBRL International grants it after reviewing the full conformance results, and publishes who holds it for anyone to check.

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

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