Interactive tool for analyzing OneTrust DSAR webforms, simulating user interactions, and understanding workflow triggers.
- Interactive Form Simulation: Test how the webform behaves with different selections
- Real-time Workflow Evaluation: See which workflows trigger based on your selections
- Form Action Tracking: Monitor submit button and attachment field visibility
- Comprehensive Excel Export: Export complete webform configuration to Excel with 10 detailed sheets
- Translation Support: Automatically syncs field labels from webform JSON
- Open the application in your browser
- Upload your OneTrust webform JSON file
- Start making selections to see:
- Which fields become visible
- Which workflows will trigger
- When the submit button is enabled/disabled
- When attachment uploads are required
Click "Export to Excel" to generate a comprehensive workbook with:
- All Fields - Complete field configuration
- Field Options - All available options for each field
- Visibility Rules - Conditional field display logic
- All Workflows - Workflow configurations
- Workflow Criteria - Trigger conditions in one row per workflow
- Workflow Walkthrough - Step-by-step trigger instructions
- Submit Button Rules - When submission is blocked
- Attachment Rules - When file uploads appear
- Request Types - All configured request types
- Subject Types - All configured subject types
Use sync_translations.py to automatically sync field labels from your webform JSON to the translation file:
python sync_translations.pyThis ensures all field labels match the source webform configuration.
- Pure JavaScript (no framework dependencies)
- SheetJS for Excel export
- OneTrust DSAR webform JSON format
- Vite for local development/preview
Ready to deploy on Vercel - just push to a repository and connect to Vercel.
- Install dependencies:
npm install - Start a dev server:
npm run dev(default: http://localhost:4173) - Build for production:
npm run build - Preview the production build locally:
npm run preview
- App entrypoint + runtime assets live in the repo root (
index.html,simulator.js,state_hash_mapping.csv,assets/). - Developer notes and architecture live in
context/(start withcontext/README.md). - Guides and troubleshooting docs are grouped under
docs/. - CLI/utilities are under
scripts/node/; Python helper scripts live inscripts/python/. - Temp/dev logs from local runs are kept in
logs/.
MIT