# Grideōs facts ledger

> The main factual claims on grideos.com, hash-chained and signed.

Source: https://grideos.com/facts/
Publisher: Grideōs (Grideos Global Corp.), Calgary, Alberta, Canada
Updated: 2026-10-16

Each entry is one claim made on grideos.com, with its evidence and an honest status. The 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.

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

| ID | Claim | Status | Evidence | Hash |
|---|---|---|---|---|
| GRD-001 | Grideōs is the brand of Grideos Global Corp., a corporation registered in Alberta, Canada. | self-asserted | [Company page](https://grideos.com/company/) | `f74a394ccdfc` |
| GRD-002 | Grideōs and Grideos refer to the same company; the registered name has no macron. | self-asserted | [Answers](https://grideos.com/answers/#grideos-or-grideos) | `b8ee4e6a67d6` |
| GRD-003 | Grideōs is based in Calgary, Alberta, with an office at #18 1750 120 Ave NE, Calgary, AB T3K 2G3. | self-asserted | [Company page](https://grideos.com/company/#where) | `bc08fa934977` |
| GRD-004 | Kareem Louisy is Founder and CEO of Grideōs; Vikas Arora is Co-Founder and Chief Strategy Officer. | self-asserted | [Company page](https://grideos.com/company/#people); [Dispatch 005](https://grideos.com/dispatches/005-vikas-arora-joins-as-co-founder-and-cso) | `b5739cfa671a` |
| GRD-005 | Grideō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-asserted | [Company page](https://grideos.com/company/) | `a3a60ecad92f` |
| GRD-006 | Grideōs applies one shared architecture to inspection to quoting, conversation to intake, and registration and consent. | self-asserted | [Home, applications](https://grideos.com/#applications) | `3127f3e8f49a` |
| GRD-007 | Ironwall's public verifier is live at https://edge.grideos.com and checks compressed Groth16 proofs over the BN254 curve. | publicly-testable | [Live verifier](https://edge.grideos.com) | `02e1529243ef` |
| GRD-008 | Grideō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-measured | [ironwall-edge-bench on GitHub](https://github.com/GrideosGlobal/ironwall-edge-bench); [Dispatch 003](https://grideos.com/dispatches/003-edge-verification-measured-at-8-6-ms) | `8e7d32bf02d6` |
| GRD-009 | The 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-asserted | [Proof page, how a request is checked](https://grideos.com/proof/#verifier); [ironwall-edge-bench README](https://github.com/GrideosGlobal/ironwall-edge-bench); [Dispatch 003](https://grideos.com/dispatches/003-edge-verification-measured-at-8-6-ms) | `5a31e3c943d3` |
| GRD-010 | The 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-checkable | [ironwall-verifier](https://github.com/GrideosGlobal/ironwall-verifier); [ironwall-edge-bench](https://github.com/GrideosGlobal/ironwall-edge-bench); [zk-circuit-challenge](https://github.com/GrideosGlobal/zk-circuit-challenge) | `4b2e010b2323` |
| GRD-011 | As of 11 July 2026, Grideōs is a client of NRC IRAP with an assigned Industrial Technology Advisor; there is no funding agreement. | self-asserted | [Dispatch 008](https://grideos.com/dispatches/008-accepted-into-nrc-irap) | `d9b44fe165fc` |
| GRD-012 | A 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-asserted | [Dispatch 007](https://grideos.com/dispatches/007-second-place-vfc-responsible-ai-adoption-challenge) | `cfbcf08df5ba` |
| GRD-013 | NZT Consulting Corp., a separate Alberta company, deploys Grideōs capabilities inside client organizations. | self-asserted | [NZT Consulting](https://nztconsulting.ai); [Company page](https://grideos.com/company/#nzt) | `2b3f30449467` |
| GRD-014 | The Grideōs contact address is info@grideos.com. | self-asserted | [Company page](https://grideos.com/company/#where) | `1949edc15a78` |
| GRD-015 | grideos.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-testable | [llms.txt](https://grideos.com/llms.txt); [MCP endpoint](https://grideos.com/mcp) | `146f2f175b4e` |
| GRD-016 | Ironwall, the Grideōs trust layer, provides zero-knowledge verification, classification at the edge and verification that a real person was present. | self-asserted | [Company page, trust layer](https://grideos.com/company/#trust); [Live verifier](https://edge.grideos.com) | `e6f26ce5cf2f` |
| GRD-017 | In 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-asserted | [Dispatch 002](https://grideos.com/dispatches/002-spektacar-moves-into-dealer-hands) | `2611e3aa595f` |
| GRD-018 | As of 11 July 2026, Grideōs had been selected for the Venture for Canada student cohort program three times. | self-asserted | [Dispatch 006](https://grideos.com/dispatches/006-a-third-venture-for-canada-cohort) | `64cdfc327d9e` |
| GRD-019 | Kareem Louisy built every component of the Ironwall stack. | self-asserted | [Company page, people](https://grideos.com/company/#people) | `c9d9b60da658` |
| GRD-020 | Kareem Louisy has a background in spatial computing and systems engineering. | self-asserted | [Company page, people](https://grideos.com/company/#people) | `aefc9f6044ee` |
| GRD-021 | grideos.com uses no analytics, advertising trackers or tracking cookies, and its pages request resources only from grideos.com itself. | publicly-testable | [Privacy notice](https://grideos.com/privacy/) | `c90ac6712d36` |
| GRD-022 | The 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-asserted | [ironwall-edge-bench README](https://github.com/GrideosGlobal/ironwall-edge-bench); [Proof page](https://grideos.com/proof/#verifier) | `877eb0069edb` |

## Statuses

- **publicly-testable**: Anyone can test this directly, now.
- **publicly-checkable**: The evidence is hosted by a third party you can read.
- **self-measured**: Grideōs measured this itself; not independently validated.
- **self-asserted**: Grideōs states this; the evidence link shows where it is published.

## How it works

1. Each entry is canonical JSON (RFC 8785 rules) without its `hash` field, hashed with SHA-256.
2. Each entry's `prev` is the previous entry's hash; the first points to `genesis`.
3. The ledger file is signed with Ed25519 as a detached JWS: https://grideos.com/facts/ledger.json.jws
4. Public key: https://grideos.com/.well-known/jwks.json (kid `VSwOVu_Yp0y2BWSAo88y7lJT1dITE81rwyZHk9pPvgA`), also in did:web:grideos.com (https://grideos.com/.well-known/did.json).

## Verify it yourself

```js
// 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);
```

Cite claims as `https://grideos.com/facts/#GRD-007`. MCP endpoint: https://grideos.com/mcp (tools list_claims, get_claim, verify_claim).
