Inspiration

What it does

How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for SignFence AI

The problem

A person can approve a contract and still receive a different PDF at signing time. SignFence automatically revokes human signing approval whenever the approved PDF changes.

What the user does

A judge can open the public demo and complete the full workflow without an account: enter Korean or English terms, structure the contract, generate a real PDF, see an intentional payment mismatch blocked at 6/7 checks, correct it, regenerate and pass 7/7, explicitly approve the PDF SHA-256, change the approved document, see APPROVAL REVOKED, then revalidate, reapprove, preview, and download the final contract PDF.

The signing boundary

SignFence never delegates permission to the agent. The only signing gate is:

allSevenChecksPassed &&
humanApprovalRecorded &&
approvedPdfHash === currentPdfHash

The server independently hashes submitted PDF bytes. If that hash differs from either the current or approved hash, signing is blocked in code.

Foxit MCP

We registered Foxit's official open-source MCP server and used its advertised tools in a real completed run:

upload_document → pdf_from_text → download_document

The downloaded %PDF bytes were verified against SHA-256 before the result was labeled live evidence. The public product displays only sanitized, read-only proof from this prior run; it never presents a mock as live execution.

Foxit eSign outside MCP

Signing is intentionally outside the MCP catalog. Our protected operator path calls the Foxit eSign API directly with private credentials only after deterministic validation and explicit human approval. A real person signed the synthetic contract in Foxit developer TEST MODE; the preserved run reached EXECUTED and the completed PDF hash was recorded. Email, Folder ID, security links, credentials, activity history, and the completed private PDF are not published.

What is live today

  • Public bilingual contract workflow
  • Seven deterministic policy checks
  • Real PDF generation, embedded preview, and download
  • Human approval bound to PDF SHA-256
  • Immediate approval revocation after any document change
  • Revalidation and reapproval
  • Sanitized Foxit MCP and human eSign TEST MODE evidence
  • Public paid API and email sending endpoints locked

Built with

Next.js, TypeScript, React, Foxit PDF Services, Foxit MCP, Foxit eSign API, Web Crypto SHA-256, Vitest-style Node tests, and OpenAI Sites.

Limits

The public demo uses synthetic data, has no legal effect, and deliberately does not spend Foxit credits or send signing emails. Live Foxit execution remains operator-only. The evidence cards describe earlier completed runs and are labeled accordingly.

Built With

  • openai-sites
Share this project:

Updates

Submission history