# Private attachments — 1.2.6

KillerConversions Pro accepts PDF, PNG, JPEG and UTF-8 TXT files in up to three file fields. Each field accepts one file.

## Choose a useful size

In form Settings → Private attachment limits, select 1, 5 or 10 MiB per file. New forms start at 5 MiB. Existing forms retain their previous 1 MiB allowance until an administrator changes it and saves.

The actual allowance is the smaller of your setting and the host's PHP upload/request, memory and database-packet capacity. The standard Pro combined raw-file limit never exceeds 15 MiB and may be lower. Pro can explicitly configure the larger-file policy below. The editor and published form show the effective file and combined limits. A web server or proxy may impose an additional request limit; test a representative file on your own host. The plugin does not change server limits.

Publish updates before testing a changed setting on the live form. Save draft changes keeps the published allowance unchanged. Lowering it does not erase completed entries or their files. Existing saved drafts keep their retained validated bytes; new uploads follow the current allowance. Expiry and storage quotas still apply.

## Private storage and validation

Files are stored privately in the WordPress database, without a public media URL. Downloads require current staff permission and an authorized request. Files and their metadata are excluded from email and integration payloads. Completed files are not encrypted at rest; protect your database and backups. In the current pair, Pro saved-application files use the existing encrypted draft storage; completed-submission uploads also require Pro.

Validation checks the actual file bytes and rejects unsupported or active content. The accepted subset can reject otherwise valid documents. This is not antivirus or a complete document parser. Rename or MIME-type tricks do not make an unsupported file safe.

## Retention and removal

Files follow their entry's retention and deletion. WordPress privacy export includes the original bytes as base64; exports page through files to bound memory. Export and erasure continue through Free when Pro is inactive. Saved drafts keep the existing per-form/site encrypted-storage quotas and expiry, and are consumed after successful submission. In the current pair, Pro is required to create or resume those unfinished visitor applications; Free retains their privacy export, erasure and cleanup access without enabling visitor resume. Hosting backups have separate retention.

## Pro larger-file policy

Enable the Pro attachment policy only after testing your host. Set 1–10 MiB per file, 1–5 file fields and 1–25 MiB combined. Each field holds one file. Actual limits are lower when PHP upload/request size, working memory, database packet size or the site budget requires it. The editor and public form show effective limits. Large JSON/base64 and encrypted saves require substantially more memory than raw file bytes; changing plugin values does not change server limits. Forms using this policy pause safely if Pro is deactivated.

## Site storage health

The Free site budget defaults to 512 MiB and can be configured from 64 to 16384 MiB by an administrator. It covers retained entry answer/snapshot bytes, private file bytes and encrypted draft bytes. Database overhead, jobs, notes and backups also need host capacity. Encrypted drafts additionally keep 64 MiB/form and 256 MiB/site caps. Cleanup/expiry depend on WordPress cron. Budget exhaustion rolls back the new write and retains an earlier saved application. Review the Storage and privacy panel; remove unneeded records or increase the budget only within your host's capacity.
