[Sandbox submission] A sandbox submission is a dry form submission, which basically does a "fake" submission. It is done before everything else and returns `true` (for a successfull submission), and `false` (for a failed submission). Add-ons should always apply all conditional checks in the sandbox hook in order to make sure no unexpected form submission can occur. For instance, let's asume we have a form with both Register & Login enabled (to register a new user), and Stripe checkout enabled (to accept payments). In a normal use case, the user fills out the form and submits the form. The Stripe payment popup appears, and user completes the payment. The register & login add-on registers the new user, then the contact entry is saved, and an email is send if enabled. If everything goes as planned the following has happend: - Stripe Payment is made by the user - New user is registerd - New contact entry is created - E-mail has been send But what if a user submits a form with a username that already exists? In this case, the user would already have paid for the submission, but the form failed to submit. When the user would change their username to something else, and re-submits the form the user would again need to pay. To avoid this, we must execute the form submission upfront and make sure that a succesfull form submission is possible. This is done with a so called "Sandbox submission". This way we already have all the required data, and done all the validation / conditional checks before asking the user for a payment.