Submissions
Submissions are saved immediately with metadata, then processed asynchronously.
For bulk management of test data and archived submissions, see Admin Bulk Management below.
Submission Flow
Reference IDs
Human-readable IDs for status lookup. Uses safe characters (no confusing 0/O, 1/I/l):submission_prefix. Once set, the prefix becomes immutable to prevent broken references.
Submission Data Model
Soft Deletion
Submissions are soft-deleted to preserve auditability and prevent accidental data loss. Instead of deleting rows, we set:deleted_at— when the record was removeddeleted_by— who removed it
Geolocation Tracking
Every submission captures location data for compliance and fraud detection:IP Anonymization
For privacy compliance, IP addresses are anonymized before storage:Data Sources
Outcome Field
Theoutcome field stores applicant-visible results. Unlike status (internal workflow), outcome is what the applicant sees on their status page.
Outcome Details
Theoutcome_details JSONB field stores structured data:
Setting Outcomes
Submission Status
Status Changes
Featured Questions
Forms can mark specific questions as “featured” to display prominently in submission lists:Admin Bulk Management
Admins can manage submissions in bulk via the Submissions page (/submissions). This is useful for cleaning up test data, archiving old submissions, and managing large datasets.
Test Flag
Mark submissions as test data for filtering. Test submissions:- Appear with a “Test” badge in the admin UI
- Can be filtered out of reports and exports
- Can be safely deleted
Archive Flag
Archive submissions to hide them from normal views while preserving data:- Hidden from normal submission lists
- Preserved for audit/compliance
- Can be filtered and viewed by admins
- Can be unarchived at any time
Bulk Delete
Only submissions marked as test or archived can be deleted. This prevents accidental deletion of real data:Admin UI Features
The Submissions page provides:Soft Delete
Submissions use soft delete for data preservation:Encryption
PII fields are encrypted at rest. See Encryption & PII for details.Queue Architecture
Background processing
Notifications
Email and SMS
Encryption
PII protection
Audit Logging
Change tracking