Facts

Our claims, signed.

The main factual claims on grideos.com, one entry each, with evidence and status. Hash-chained, signed with Ed25519 and published for people and AI agents to check.

Ledger version 1, issued 2026-10-16

Each entry below is one claim made on grideos.com, with the evidence for it and an honest status. The whole ledger is hash-chained and signed. A valid signature proves the ledger came from Grideōs and has not changed since it was signed. It does not prove a claim is true: that is what the evidence and status are for.

The ledger

Version 1, issued 2026-10-16, 22 entries. Head hash 877eb0069edb8bc0.

IDClaimStatusEvidenceHash
GRD-001Grideōs is the brand of Grideos Global Corp., a corporation registered in Alberta, Canada.self-assertedCompany pagef74a394c
GRD-002Grideōs and Grideos refer to the same company; the registered name has no macron.self-assertedAnswersb8ee4e6a
GRD-003Grideōs is based in Calgary, Alberta, with an office at #18 1750 120 Ave NE, Calgary, AB T3K 2G3.self-assertedCompany pagebc08fa93
GRD-004Kareem Louisy is Founder and CEO of Grideōs; Vikas Arora is Co-Founder and Chief Strategy Officer.self-assertedCompany page
Dispatch 005
b5739cfa
GRD-005Grideōs builds record systems for expert work. Its systems capture what people see, say, decide and do as the work happens, keep it as one structured record that moves with the work, and make that record verifiable.self-assertedCompany pagea3a60eca
GRD-006Grideōs applies one shared architecture to inspection to quoting, conversation to intake, and registration and consent.self-assertedHome, applications3127f3e8
GRD-007Ironwall's public verifier is live at https://edge.grideos.com and checks compressed Groth16 proofs over the BN254 curve.publicly-testableLive verifier02e15292
GRD-008Grideōs measured 8.6 ms Groth16 verification in WebAssembly, a 381 KB WebAssembly binary, a warm round trip of about 123 ms, a cold-start round trip of about 298 ms and invalid-proof rejection in about 76 ms, and published the figures in the ironwall-edge-bench repository on 8 April 2026; Dispatch 003 reported them on 4 July 2026. No third party has validated these figures.self-measuredironwall-edge-bench on GitHub
Dispatch 003
8e7d32bf
GRD-009The verifier rejects proofs outside a 500 ms window and rejects nonces it has already seen; in the current version that nonce check is kept in memory. Testing this needs a valid proof, which outsiders cannot yet generate, so it is stated rather than publicly testable.self-assertedProof page, how a request is checked
ironwall-edge-bench README
Dispatch 003
5a31e3c9
GRD-010The verifier source code, its benchmark harness and the circuit challenge are published under the MIT licence at github.com/GrideosGlobal: ironwall-verifier, ironwall-edge-bench and zk-circuit-challenge.publicly-checkableironwall-verifier
ironwall-edge-bench
zk-circuit-challenge
4b2e010b
GRD-011As of 11 July 2026, Grideōs is a client of NRC IRAP with an assigned Industrial Technology Advisor; there is no funding agreement.self-assertedDispatch 008d9b44fe1
GRD-012A student team that Grideōs partnered with placed second in the first Venture for Canada Responsible AI Adoption Challenge, with Grideōs as Project Partner.self-assertedDispatch 007cfbcf08d
GRD-013NZT Consulting Corp., a separate Alberta company, deploys Grideōs capabilities inside client organizations.self-assertedNZT Consulting
Company page
2b3f3044
GRD-014The Grideōs contact address is info@grideos.com.self-assertedCompany page1949edc1
GRD-015grideos.com publishes a markdown version of each page, an llms.txt index, this signed ledger and a read-only MCP endpoint at https://grideos.com/mcp.publicly-testablellms.txt
MCP endpoint
146f2f17
GRD-016Ironwall, the Grideōs trust layer, provides zero-knowledge verification, classification at the edge and verification that a real person was present.self-assertedCompany page, trust layer
Live verifier
e6f26ce5
GRD-017In June 2026 Spektacar, a related company applying the Grideōs method to vehicle inspection, captured its first inspections in a working service lane; the partners are not named without their written permission.self-assertedDispatch 0022611e3aa
GRD-018As of 11 July 2026, Grideōs had been selected for the Venture for Canada student cohort program three times.self-assertedDispatch 00664cdfc32
GRD-019Kareem Louisy built every component of the Ironwall stack.self-assertedCompany page, peoplec9d9b60d
GRD-020Kareem Louisy has a background in spatial computing and systems engineering.self-assertedCompany page, peopleaefc9f60
GRD-021grideos.com uses no analytics, advertising trackers or tracking cookies, and its pages request resources only from grideos.com itself.publicly-testablePrivacy noticec90ac671
GRD-022The verifier is a #![no_std] Rust module compiled to WebAssembly that runs in a Cloudflare Workers isolate; a valid proof receives a signed JWT and an invalid one is rejected.self-assertedironwall-edge-bench README
Proof page
877eb006

What the statuses mean

How the ledger works

  1. Each entry is serialized as canonical JSON (RFC 8785 rules: sorted keys, no whitespace) without its hash field, and hashed with SHA-256.
  2. Each entry carries the hash of the entry before it in prev; the first one points to the ledger's genesis value. Changing or removing any entry breaks every hash after it.
  3. The ledger file, byte for byte, is signed with Ed25519 as a detached JSON Web Signature (RFC 7515) at /facts/ledger.json.jws.
  4. The public key is published as a JSON Web Key Set at /.well-known/jwks.json (key ID VSwOVu_Yp0y2BWSAo88y7lJT1dITE81rwyZHk9pPvgA) and in the DID document did:web:grideos.com.
  5. For an independent, dated copy, save https://grideos.com/facts/ledger.json in the Internet Archive; any later version can then be compared with it.

Files: ledger.json (SHA-256 cb1d0411fb2fe8f6), ledger.json.jws, markdown version. Licence: CC BY 4.0.

Verify it yourself

This script checks the signature and the hash chain with no dependencies:

// verify-grideos-ledger.mjs  (Node 20 or later; no dependencies)
import { webcrypto as c } from "node:crypto";
const base = "https://grideos.com";
const bytes = new Uint8Array(await (await fetch(base + "/facts/ledger.json")).arrayBuffer());
const [h, , s] = (await (await fetch(base + "/facts/ledger.json.jws")).text()).trim().split(".");
const jwk = (await (await fetch(base + "/.well-known/jwks.json")).json()).keys.find(k => k.kid === JSON.parse(Buffer.from(h, "base64url")).kid);
const key = await c.subtle.importKey("jwk", jwk, { name: "Ed25519" }, false, ["verify"]);
const input = new TextEncoder().encode(h + "." + Buffer.from(bytes).toString("base64url"));
console.log("signature valid:", await c.subtle.verify({ name: "Ed25519" }, key, Buffer.from(s, "base64url"), input));
const L = JSON.parse(new TextDecoder().decode(bytes));
const canon = o => JSON.stringify(o, Object.keys(o).sort());   // entries hold strings and arrays only
let prev = L.genesis, ok = true;
for (const e of L.entries) {
  const { hash, ...rest } = e; const sorted = Object.fromEntries(Object.entries(rest).sort());
  const d = Buffer.from(await c.subtle.digest("SHA-256", new TextEncoder().encode(JSON.stringify(sorted)))).toString("hex");
  ok = ok && d === hash && e.prev === prev; prev = hash;
}
console.log("chain intact:", ok && prev === L.head);

For AI assistants and agents

Cite a claim by its ID and link, for example https://grideos.com/facts/#GRD-007. The read-only MCP endpoint at https://grideos.com/mcp exposes list_claims, get_claim and verify_claim. An agent skill describing the steps is at /agent-skills/verify-grideos-claims.md.

Bring us a problem.

Tell us about the work, where it gets stuck, and who has to trust the record afterwards. Grideōs reads every brief and replies by email. You can also write to info@grideos.com. How we handle what you send: privacy notice.