Project Info
Inspiration
Filling government, healthcare, insurance, and enterprise forms is still a painful copy-paste workflow. The harder version is not just typing into fields: users need to find the right official site, understand what the form asks for, extract details from scattered documents, protect PII/PHI, avoid accidental submission, and keep an audit trail. Vault Form Agent explores what a safer form-filling agent should look like when documents are sensitive and the user still needs control.
What it does
Vault Form Agent is an enterprise-grade web app with a secure document locker, redaction policy engine, chat-style form agent, visible browser runner, audit trail, CLI, and Codex/Claude-style skill scaffold. Users can upload any kind of document with a name, description, tags, metadata, sensitivity label, consent flag, and retention context. The backend extracts text from PDFs, scanned images, text files, JSON, and document-like inputs through a Docling-ready extraction layer with OCR fallbacks. Before data reaches the agent, built-in and custom redaction rules can mask PII/PHI such as emails, phone numbers, SSNs, dates of birth, member IDs, policy numbers, patient IDs, or any custom user-defined field. The agent page behaves like a chat workspace. A user selects whether the agent should use no documents, selected documents, all non-sensitive documents, or all documents. The user then describes the task in natural language, optionally enables web research, reviews the plan, and lets the browser runner prepare a real web form. The demo proves the process on a public Google Form: eight fields are matched and prepared while a submit guard prevents accidental final submission. Visual proof The GitHub README now includes an embedded visual walkthrough so judges and automated reviewers can see the project without hunting through folders: Agent chat workspace: https://github.com/SonuSV7719/vault-form-agent/blob/main/demo-recordings/chat-agent-redesign.png Real Google Form filled by the agent: https://github.com/SonuSV7719/vault-form-agent/blob/main/demo-recordings/google-form-filled-before-submit.png Corrected eight-field Google Form proof with submit guard: https://github.com/SonuSV7719/vault-form-agent/blob/main/demo-recordings/google-form-clean-8of8-submit-guard.png End-to-end demo recording: https://github.com/SonuSV7719/vault-form-agent/blob/main/demo-recordings/system-end-to-end-google-form-fill.mp4 Clean browser-fill recording: https://github.com/SonuSV7719/vault-form-agent/blob/main/demo-recordings/google-form-clean-8of8-submit-guard.webm How it works FastAPI backend manages the locker, extraction, redaction, planning, audit logs, and browser orchestration. React/Vite frontend provides a multi-page enterprise UI: Dashboard, Document Locker, Agent Chat, Redaction Settings, Approvals, and Audit. Redaction engine supports built-in rules plus custom regex, exact-value, dictionary, and metadata-key rules with multiple masking strategies. Browser runner uses labels, nearby context, DOM roles, JavaScript execution, and page analysis to prepare matching fields. Human-control guard rails keep high-risk actions, especially final submit, reviewable. CLI and skill folders make the capability testable as a developer workflow, not just a web app. How Codex and GPT-5.6 were used Codex with GPT-5.6 was used for the majority of the project: planning the architecture, designing the enterprise UI, generating and iterating backend services, building the React screens, writing the redaction and document-scope mechanisms, implementing the visible browser fill runner, creating sample data, producing demo recordings, and writing the README and docs. The key decisions made with Codex were: make the agent chat-first, require document scope selection, separate extraction from redaction, treat sensitive data as policy-controlled, keep submission human-approved, and include a reusable CLI/skill path for Codex-style workflows. Built during the hackathon The final repo includes setup instructions, sample data, demo recordings, security notes, architecture documentation, redaction handbook, browser-agent handbook, demo guide, visual walkthrough screenshots, and a hackathon submission sheet for judges. Demo proof The included demo assets show the app workflow and a real Google Form preparation run where eight fields are filled and final submission is blocked for safety.
Vault Form Agent
Vault Form Agent is an enterprise-grade prototype for secure, approval-gated document-to-form automation. It combines a metadata-rich document locker, scalable PHI/PII redaction policies, a Claude-style chat agent, official-site research, browser form execution, and audit logging.
The system is designed around HIPAA/PHI/PII-aware handling patterns. It is not a certified compliance product by itself; production HIPAA compliance also requires hosting controls, BAAs, policies, training, risk assessments, and operational governance.
Highlights
- Chat-first agent workspace with document scope controls.
- Document locker for any file type with name, description, tags, metadata, sensitivity, and consent.
- Docling-ready extraction path with OCR fallbacks for PDFs and scanned images.
- Built-in and custom redaction rules for PHI, PII, financial, government, and internal identifiers.
- Official website research agent for prompts without known target URLs.
- Approval review before execution.
- Visible browser automation for typing, clicking, selecting, uploading, and pausing before final submit.
- Audit trail for document access, field use, approvals, and execution.
- CLI and agent-skill scaffold for Codex/Claude-style integrations.
Demo
Primary end-to-end recording:
demo-recordings/system-end-to-end-google-form-fill.mp4- Corrected clean browser-fill proof:
demo-recordings/google-form-clean-8of8-submit-guard.webm - Proof screenshot:
demo-recordings/google-form-clean-8of8-submit-guard.png
The recording demonstrates:
- Agent chat workflow.
- Real-world Google Form test case.
- Approval-gated execution.
- Backend-launched Chrome session.
- Real fields filled on a public Google Form.
- Submit guard blocks final submission and leaves review to the user.
Sample files are in demo-data/.
Visual Walkthrough
Agent chat workspace
The user selects document scope, enters a natural-language request, reviews the agent plan, and prepares the browser execution from a Claude-style chat surface.

Real Google Form filled by the agent
The browser runner opens a public Google Form and prepares the visible fields using the planned values.

Eight-field controlled browser proof
The corrected proof run shows eight fields prepared and final submit blocked by the safety guard.

Full workflow recording frames
These frames show the broader locker-to-agent-to-browser flow used in the demo recording.


Architecture
flowchart TD
UI[React Enterprise Web App] --> API[FastAPI Backend]
API --> Locker[Document Locker]
API --> Redaction[Redaction Policy Engine]
API --> Chat[Chat Agent Orchestrator]
API --> Research[Official Site Research Agent]
API --> Approval[Approval Workflow]
API --> Audit[Audit Trail]
Approval --> Browser[Visible Browser Agent]
Locker --> Extract[Docling/OCR Extraction]
Locker --> Store[(Document/Object Store Target)]
Redaction --> Vault[(Secure Token Vault Target)]
Chat --> Scope[Document Scope Enforcement]
Local Run
Backend:
cd backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --host 127.0.0.1 --port 8010
Frontend:
cd frontend
npm install
npm run dev -- --port 5173
Open:
- App:
http://localhost:5173 - Backend health:
http://127.0.0.1:8010/health
Docker compose is included for the target service topology. The current desktop demo uses local backend port 8010 so it does not collide with other services on 8000.
Product Flow
- Upload documents in Locker.
- Add document name, description, tags, metadata, sensitivity, and consent.
- Configure redaction rules if custom fields need masking.
- Open Agent Chat.
- Choose document scope:
- no documents
- selected documents
- all non-sensitive documents
- all documents including sensitive
- Enter or speak a prompt.
- Agent researches official sites when needed.
- Agent drafts field mappings and asks for review.
- User approves.
- Backend opens Chrome, fills the form, and stops before final submit.
Repository Layout
backend/ FastAPI service, agents, redaction engine, browser runner
frontend/ React + TypeScript enterprise web app
cli/ Command-line API client
demo-data/ Synthetic sample documents
demo-recordings/ Demo videos and screenshots
docs/ Architecture, handbook, compliance, and demo guides
skills/ Agent skill scaffold
legacy_streamlit/ Original MVP preserved for reference
Documentation
- Architecture
- Security and Compliance Notes
- Redaction Handbook
- Browser Agent Handbook
- Demo Guide
- API and Agent Integration
- GitHub Publishing Notes
API Overview
GET /api/locker/documentsPOST /api/locker/documentsPOST /api/redaction/rulesGET /api/redaction/rulesPOST /api/redaction/previewPOST /api/agent/draftsPOST /api/agent/researchPOST /api/agent/approvals/{approval_id}/approvePOST /api/agent/approvals/{approval_id}/executeGET /api/audit/eventsGET /api/security/locker-policy
Safety Boundaries
The browser agent does not click final submit automatically. It pauses for:
- CAPTCHA
- MFA
- payment
- signature
- legal attestation
- external file upload confirmation
- final submit
Validation Used
- Backend compile:
python -m compileall backend/app - Frontend build:
npm run build - API smoke tests for redaction, upload, scoped draft, approval, and browser execution
- Browser UI smoke tests for Locker, Agent Chat, Redaction, and Approval
License
Add a license before public distribution.
Analysis
View
Metric
- 3
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FastAPIIn code
- HTMLIn code
- LangChainIn code
- PythonIn code
- ReactIn code
- RedisIn code
- TypeScriptIn code
- JavaScriptClaimed
- OpenAIClaimed
8 of 10 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
192 KB
Source files
76
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
SonuSV7719/vault-form-agent
112 files · 18.0 MB · @ bf36870
Structure
Interface
34 files · 30%Screens, components and styles rendered to the user.
API & routing
6 files · 5%Request entry points: routes, handlers and controllers.
Application logic
21 files · 19%Domain rules, services and shared utilities.
+3 moreData & schema
2 files · 2%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python49%
- TypeScript24%
- Markdown16%
- CSS10%
- YAML1%
- HTML0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
backend/requirements.txt
pypi · 16- celery
- fastapi
- langchain
- langchain-google-genai
- minio
- Pillow
- playwright
- psycopg[binary]
- pydantic-settings
- PyMuPDF
- pypdf
- pytesseract
- python-multipart
- redis
- sqlalchemy
- uvicorn[standard]
frontend/package.json
npm · 8- @vitejs/plugin-react
- lucide-react
- react
- react-dom
- typescript
- vite
- +2 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.