Resume & partials
When a respondent starts a survey we drop a cookie that points at their in-flight buffer. As long as the cookie is intact and the buffer hasn't been swept by retention, they pick up exactly where they left off.
For cross-device resume, generate a signed resume URL (route name surveys.resume) and email it to the respondent. The URL drops the cookie when visited and redirects to the survey landing.
Partial buffers
In-progress answers are stored in a partial buffer until the survey is completed. The buffer lets the public survey page restore the current step, previously entered answers, and any branching context needed to continue the flow.
Partial buffers are not the same thing as completed submissions. They are operational state for an unfinished response. Once the respondent submits the final step, the completed response is materialized as a submission and follows the normal submission retention rules.
Resume behavior
Same-device resume depends on the browser cookie. If the respondent clears cookies, switches browsers, uses private browsing, or moves to another device, the original browser cookie is unavailable. A signed resume URL solves that by reattaching the browser to the existing buffer.
Use signed resume links for longer surveys, asynchronous interviews, or any workflow where respondents may need to pause. For short feedback surveys, cookie-only resume is usually enough.
Retention
Abandoned buffers - buffers without a completed_submission_id - are pruned by the daily retention sweep using each team's plan retention window. Completed responses are pinned to the lifetime of the materialized submission and follow the same rules as any other submission row.
Privacy expectations
Tell respondents when a survey can be resumed later, especially if answers include personal or sensitive information. A shared computer can reopen an unfinished survey while the cookie remains valid, so avoid storing unnecessary sensitive data before the final submission step.
Testing resume
Before publishing a long survey:
- Start the survey and answer a few questions.
- Close the tab, reopen the public URL, and confirm it resumes.
- Test a signed resume URL in a different browser.
- Complete the survey and confirm a normal submission is created.
- Revisit the resume URL after completion to confirm it does not create a duplicate response.