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
Log in or sign up for Devpost to join the conversation.