-
-
Seven typed, read-only WebMCP tools discovered directly from the live production site.
-
An agent invokes verify_uce_record and receives a structured, source-bound result—without DOM scraping.
-
Browser checks verify schema, record identity, ES256 signature, and public transaction chronology.
-
Chronology separates claimed dates, recorded system events, and independently retrieved public evidence.
-
Authorship, identity, AI-use, and rights remain recorded assertions—not verified facts.
-
A public UCE record binds the asset to its manifest hash, timestamps, source, and recorded authorship context.
-
The verifier is itself evidenced: the production v1.0.0 site release has its own independently checkable UCE record.
Overview
A shared browser verifier where people and AI agents inspect the same cryptographic evidence, chronology, rights assertions, and local-file match.
Problem
Creators, agencies, reviewers, counsel, and journalists increasingly receive public evidence records that combine cryptographic facts with human claims. Understanding one record can require moving among a verification page, machine-readable JSON, a signature, an Arweave transaction, and the original local file. A person can miss a distinction; a general-purpose agent scraping the visible page can do worse by promoting a publisher statement or authorship claim into a verified fact.
The difficult part is not merely retrieving data. It is preserving evidentiary boundaries: what this browser independently checked, what the publisher reported, what the claimant asserted, what is temporarily retryable, and what the public format does not yet support.
Solution
UCE Evidence Lens is a static, browser-first public record inspector. A person can load a CbyUCE verification URL, a direct Arweave manifest, pasted public JSON, or the bundled demonstration. The browser validates the record, checks its public ES256 signature, binds chronology to public Arweave block metadata, separates recorded assertions from verified results, and can compare a user-selected file by locally calculated SHA-256.
The same page exposes seven read-only WebMCP tools. An agent can load, summarize, verify, inspect chronology, list assertions, inspect rights declarations, and report an already-selected local file comparison through structured operations rather than guessing from the interface. The human sees the same underlying state and wording.
Why This Matters
Evidence review is a strong fit for WebMCP because the workflow is structured, multi-step, and precision sensitive. Without page-defined tools, an agent has to infer controls and semantics from layout, possibly leaving out technical details or overstating a legal conclusion. With WebMCP, the site defines exactly which evidence operations are available and returns typed, source-bound results.
For a reviewer, the experience changes from manually correlating several technical sources to asking one focused question while retaining a visible and easily understood inspectable record. For an agency or production team, the demonstration also shows a credible market path: a work can originate in the published Copyright by UCE Figma plugin ( the Figma plugin is now available for use), become a public UCE record, and then be inspected by both a person and an agent before delivery.
This does not turn evidence into a legal verdict. It makes the evidence easier to inspect without erasing its limits.
How We Used AI
The product is agent-enabled without placing a model inside the trust boundary. Deterministic browser functions perform parsing, cryptography, chronology retrieval, and digest comparison. WebMCP lets an AI agent select and compose those operations, explain the structured results, and guide a person through the same evidence the interface displays.
The key collaboration is intentional: the agent can inspect an already-selected digest but cannot open a file picker or access file bytes. The person controls the sensitive local input; the agent works with the resulting evidence state.
How We Used Codex
Codex helped scope the public/private boundary, scaffolded the TypeScript application, implemented and reviewed the seven WebMCP tools, debugged browser discovery and CORS, hardened trust and concurrency boundaries, built regression tests, ran security and dependency audits, tested responsive and live-browser behavior, prepared Cloudflare deployment, and helped me tighten the judge-facing language because I can get a bit wordy and go off on tangents...(see what I mean...).
The development process repeatedly challenged optimistic claims. For example, canonical manifest recomputation remains explicitly unsupported because the public format does not define the exact hash construction. Publisher flags are recorded rather than substituted for browser checks. The result is a narrower but more defensible product. As the Copyright by UCE product grows, so will UCE Evidence Lens as an Open-Source resource helping creatives to secure their creativity. The Copyright by UCE Canva App plugin is in design review now having passed functional and technical review and the Pro Tools and Ableton plugin and extension respectively are being finalized over the next few weeks. The UCE Evidence Lens is poised to be a very useful tool for creatives and the agencies and organizations that serve them.
Key Features
- Seven top-level, imperative WebMCP tools with strict JSON Schemas and
readOnlyHint: true. - Human/agent parity through shared controller operations and shared result wording.
- Public ES256 compact-JWS verification against a reviewed, application-owned P-256 key registry.
- Direct Arweave transaction, block, height, timestamp, and confirmation inspection.
- Consumer-oriented result states that distinguish verified, mismatch, retryable, reported, and unsupported outcomes.
- Recorded authorship, identity, originality, AI-use, and rights values clearly separated from verified facts.
- Local SHA-256 comparison without uploading the file or exposing its bytes to the agent.
- Bundled demo, direct Arweave, CbyUCE JSON, and pasted-JSON resilience paths.
- Static Cloudflare deployment with no account, backend, analytics, database, runtime secret, or production dependency.
Architecture
UCE Evidence Lens is a static Vite and TypeScript single-page application. Pure modules parse and verify records; a memory-only controller binds each result to its source and manifest hash; a semantic DOM renderer and the WebMCP adapter call the same controller operations. Browser Web Crypto provides SHA-256 and ECDSA P-256.
WebMCP tools register before asynchronous demo loading and confirm same-origin discovery through document.modelContext.getTools() where available. Production headers opt the page into an origin-keyed agent cluster and allow same-origin tools. Remote access is restricted to validated HTTPS CbyUCE and Arweave routes, with byte, depth, and timeout limits.
There are no production npm dependencies and no server function, Worker, proxy, database, or persistent application storage.
Testing Instructions
- Open
https://uceevidencelens.com/in ChatGPT's in-app browser, or in Chrome 149+ withchrome://flags/#enable-webmcp-testingenabled and the browser restarted. - Confirm the page reports: “7 read-only AI-agent tools registered and discoverable.” The bundled public UCE record loads automatically.
- Ask the agent to call
verify_uce_recordand summarize verified checks separately from recorded assertions. The result should begin with “No integrity problems found.” - Ask the agent to call
inspect_uce_chronology. Confirm it distinguishes the claimed creation date, system events, and the independently retrieved Arweave block. - For the real Figma-origin example, load
https://cbyuce.com/verify/cc7680c80721f69295dab10bb547065fd74c14de420d915df0da051ee5e0727awithload_uce_public_record, then repeat the verification and chronology calls. - Optional local comparison: choose the matching public PNG in the normal interface. The browser displays its SHA-256 result;
compare_local_file_to_uce_recordcan report that result but cannot access the file bytes or trigger selection.
No login or credentials are required. If live retrieval is temporarily unavailable, reload the bundled demo or use the direct Arweave manifest URL shown in the public record.
Known Limitations
- Independent canonical-manifest recomputation is unsupported until CbyUCE publishes a reproducible hash profile with test vectors.
- Direct chronology uses a public Arweave gateway rather than a trustless light client; pending or unreachable results are retryable, not mismatches.
- The trusted platform key registry requires a reviewed application release for rotation or revocation.
- Only UCE manifest schema 1.0.0, SHA-256 file digests, and ES256/P-256 compact JWS are supported.
- Local hashing is memory-bound and capped at 512 MB.
- WebMCP availability depends on compatible browser/client rollout; the complete human interface remains available without it.
- The current Codex Chrome-control permission loop is an automation-layer limitation. It is not represented as an application or WebMCP verification pass.
Built With
- arweave
- cloudflare-pages
- typescript
- vite
- vitest
- web-crypto-api
- webmcp
Log in or sign up for Devpost to join the conversation.