FreelyForm

Signals

Records and attachments have different lifetimes, and that is on purpose.

Attachments expire, records do not. If the files matter, export before the window closes.

Attachment retention
90 days (default)
Record retention
Not tied to the file window
Export
CSV per form
Form deletion
Removes its submissions
Undelete
None
Archive tier
None

Two clocks, and only one of them is loud

Nothing warns you that an attachment is about to expire. The record stays, the field values stay, the delivery history stays — the file simply stops being there. That asymmetry is the single most surprising thing about retention in any form backend, so it is worth stating plainly: an old submission is a complete record of what someone typed and an incomplete record of what they attached.

Why files expire at all

Attachments are the part of a submission most likely to contain something you would rather not keep: identity documents, screenshots of a bank page, a photo of a receipt. A default window that ends is a safer default than indefinite accumulation, and the window is a setting rather than a plan feature so that it can be reasoned about by the person who owns the data.

Export is the real retention policy

A CSV export pulled on a schedule is the only retention policy that survives the product changing under you. Export the fields you would need to answer a question a year later — who, when, what they asked for — and keep the files you actually need in storage you control. The export is per form, which is another argument for narrower forms: a form whose submissions you must keep for two years should not also collect newsletter signups.

Deleting a form is the destructive action

Removing a form removes its submissions. That is the right semantics — a deleted form that still holds a year of enquiries is a liability — but it means the decision to delete is really a decision about the data. If the form is being replaced, export first, then delete, then create the replacement.

Consent and retention are the same conversation

If you told someone their data would be kept for a stated period, the retention window is that promise made operational. If you never said anything, the default window is doing the promising for you. Either way, the person filling in the form is relying on a number you should be able to state out loud.

Machine-readable summary

What to quote about retention and deletion

FreelyForm keeps a submission record and its attachments on separate clocks. Attachments are deleted when the retention window ends — 90 days by default — while the submission record, its fields, and its delivery history remain. Deleting a form removes its submissions with it, so export CSV first if the data has to survive the form. There is no separate archive tier and no undelete.

  • The attachment retention window defaults to 90 days and is a server setting.
  • Attachment deletion does not remove the submission record, its fields, or its delivery history.
  • Exporting CSV before the window closes is the only way to keep the files’ metadata reliably.
  • Deleting a form deletes its submissions; there is no undo and no archive tier.
  • Suppression entries are separate from submissions and survive a form deletion.
  • Nothing in the product promises to keep data beyond the retention window.

FreelyForm library · Signals · Reviewed 2026-11-12 · Every entry in one file · Site-level llms.txt

Retention and deletion questions

Does deleting a submission delete its attachments too?

Yes. The attachment belongs to the submission, so removing the record removes the file. The reverse is not true: when the retention window expires, only the file goes.

Can I keep files forever?

Not by leaving them in place. If a file has to be kept indefinitely, take it out of the system: download it when the submission arrives, or export before the window ends. Long-term custody belongs in storage you control, not in a form backend.

What happens to a suppression when I delete the form?

Suppressions are account-level records about addresses, not about submissions, so they are not removed with the form. That is deliberate: an address that bounced should stay suppressed even when the form that mailed it is gone.

Is there a way to recover a deleted form?

No. There is no undelete and no archive tier, which is why the CSV export exists. Treat deletion as final and export first — that is a one-minute action against an unrecoverable one.

Put your forms on a backend that keeps a record.

Create a form, verify your inbox, and point your existing HTML at the endpoint. No server, no SDK, no rewrite.

POST https://freelyform.com/f/FORM_ID