Glass Ballroom Verification (GBV) is a deterministic client-server verification protocol for evaluating cross-surface semantic consistency of browser-observable artifacts under verifier authority.
This repository provides the official GBV reference implementation. GBV is domain-agnostic; course records are included only as a reproducible demonstration environment.
Documentation state — v0.214
This repository reflects the state of the GBV reference implementation as of February 14, 2026, when protocol terminology was consolidated under the Glass Ballroom Verification (GBV) name. Earlier drafts may reference ARGON-V terminology.
Note
While core protocol mechanics are implemented, certain components remain under iterative refinement as security assumptions and edge cases are stress-tested. Interfaces and internal representations may evolve prior to the v0.1 stabilization milestone.
- A deterministic GBV reference environment for engineers and researchers.
- A complete client-server verification flow:
- MV3 browser extension collects browser-observable surfaces.
- Server independently evaluates protocol invariants.
- A transparency-first verification inspector with structured summaries and verbatim server payloads.
GBV evaluates whether independently observed surfaces can represent a single coherent state without requiring privileged provider access or shared ground truth.
- Not a production credential verification service.
- Not a hosted SaaS deployment.
- Not a provider-integrated system with authentication, rate limiting, or tenant isolation.
This repository is a protocol reference and research implementation.
In GBV, blindness means authority separation, not UI opacity.
- The server is decision-authoritative.
- The server does not rely on dataset validity labels.
- The client cannot influence verifier outcomes.
The extension can display full server-returned metadata without violating protocol blindness.
apps/server- GBV verifier API (/api/gbv/*)apps/client/synthetic- synthetic learning platform surfacesapps/extension- Chrome MV3 GBV clientpackages/gbv-core- canonicalization, invariants, commitments, receiptspackages/gbv-config- shared runtime configurationdocs/- architecture, protocol, threat model, walkthroughs, and reports
Research drafts are versioned independently from implementation code.
Current public research draft:
- Node.js 22+
- Corepack
corepack enable
corepack prepare pnpm@10.4.1 --activatecorepack pnpm bootstrap
corepack pnpm devServices:
- Synthetic client: http://localhost:3000
- GBV server: http://localhost:3001
- Extension build:
apps/extension/build
- Open
chrome://extensions. - Enable Developer Mode.
- Load unpacked extension from
apps/extension/build. - Open
http://localhost:3000/hub. - Open the extension popup.
- Choose a course.
- Click Verify.
csk_7r2q9p-> acceptedcsk_0a81lm-> semantic mismatch (SEMANTIC_VERIFICATION_FAILED,module_count_consistency)csk_3z19tt-> semantic mismatch (SEMANTIC_VERIFICATION_FAILED,certificate_id_consistency)csk_t1mix-> semantic mismatch (SEMANTIC_VERIFICATION_FAILED, includesgrade_thresholdandcourse_key_consistency)
- Structured summary first (state, status, score, IDs, timing)
- Grouped protocol sections
- Expandable Raw Response with verbatim verifier payload
corepack pnpm lint
corepack pnpm typecheck
corepack pnpm test
corepack pnpm demo:verifydemo:verify validates expected protocol states, mismatch classes, and invariant behavior.
corepack pnpm exec playwright install chromium
corepack pnpm test:extension-smokeCI executes these tests under Xvfb.
PowerShell:
$env:GBV_DEBUG='1'; corepack pnpm devBash:
GBV_DEBUG=1 corepack pnpm dev- Server logs request IDs, timing metrics, and non-sensitive diagnostics only.
- Raw page HTML is not logged by default.
- Security disclosures should use GitHub Security Advisories private reporting.
Extension cannot verify
- Run
corepack pnpm build:extension - Reload unpacked extension
- Verify
http://localhost:3001/api/health - Verify
http://localhost:3000/api/gbv/courses
Extension smoke test fails
corepack pnpm exec playwright install chromiumFor structured documentation navigation, start with
docs/README.md.
docs/architecture.mddocs/protocol-overview.mddocs/threat-model.mddocs/demo-walkthrough.mddocs/release-hardening-report.mddocs/development-notes.mddocs/traceability.mddocs/research/
See LICENSE.