The photo_id, proof_of_ownership and insurance_cert sections each accept a file, read it to a data URL in the browser and store it on form_data with its filename. The builder's review panel deliberately shows only presence — 'Photo ID: licence.jpg' — and never renders the raw data URI.
Also called: upload drivers license · proof of ownership · deed or title · insurance certificate · lien law documents
- 1Enable any of the three upload sections in Settings (all off by default).
- 2The customer picks a file; a FileReader converts it to a data URL stored under { dataUrl, fileName }.
- 3buildIntakeSections() collapses uploads into a 'Documents' block noting the filename or just 'Uploaded'.
- 4The section descriptions state why each exists: photo ID because 'some lien laws require' it, proof of ownership 'recommended for permanent structures'.
The review-panel comment is specific about the restraint: 'Document/image uploads are reduced to a presence note (we don't render base64 data URIs here).' The uploads exist because lien and permanent-structure paperwork needs them, and because asking for a deed after the concrete is poured is not a conversation anyone wants.
- Building a permanent structure for someone who doesn't own the land
- Lien filings blocked by missing owner identification
- Documents scattered across text threads and email
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →