Hitting Submit runs, in order:

  1. Static validation - the form's own required, min, max and regex rules.
  2. validate.js - cross-field validation. Stops here if it writes any error.
  3. process.js - declares the pages, places the layouts and adds blocks.
  4. Render - the pages are drawn and saved to the shared output folder.

Nothing about a submission is saved except the generated PDF, and a value process.js computes is baked into it: editing the script later never changes a PDF already made.

Scripts run in a sandbox with no network or file access beyond the project's own files, and are stopped after the Processing time limit.