- [x]**DOC-01**: Agent can browse and import PDF forms from the utahrealestate.com vendor API (vendor.utahrealestate.com/webapi) — investigate API capability; fall back to manual upload if forms API is not available
- [x]**DOC-02**: Forms library syncs automatically on at least a monthly basis to reflect new/updated forms
- [x]**LEGAL-01**: System logs a complete audit trail for every signing ceremony — 6 server-side events: document prepared, email sent, link opened (with IP/user-agent), document viewed, signature submitted, final PDF hash computed
- [x]**LEGAL-02**: System computes and stores a SHA-256 hash of the final signed PDF immediately after signature embedding (tamper-evident record)
- [x]**LEGAL-03**: Signed PDFs are stored in private storage — never accessible via public or guessable URLs; agent downloads via authenticated presigned URLs only
- [x]**LEGAL-04**: DNS (SPF/DKIM/DMARC) configured for teressacopelandhomes.com before first signing link is sent to a real client
- [ ]**AI-01**: Agent can click one button to have AI auto-place all field types (text, checkbox, initials, date, agent signature, client signature) on a PDF in the correct positions
- [ ]**AI-02**: AI pre-fills text fields with known values from the client profile (name, property address, date)
- [x]**INIT-01**: Agent can draw and save initials to their account profile — thumbnail is displayed on the profile page (drawn once, reused)
- [x]**INIT-02**: Agent can update (replace) their saved initials at any time
- [x]**INIT-03**: Agent can place agent-initials field markers on a PDF — saved initials PNG is embedded at prepare time, invisible to the client during signing
- [x]**INIT-04**: Agent can place client-initials (existing 'initials' type) fields on a PDF — client must initial each one during the signing session (the 'initials' field type is already fully wired end-to-end; this requirement is satisfied by confirming FieldPlacer exposes the token and the signing page handles it correctly)
- [x]**TXTF-01**: Agent can click a placed text field box on the PDF to select it and type a value for that specific field — each text field holds its own independent value (keyed by field ID)
- [ ]**TXTF-02**: When a text field is selected, PreparePanel shows quick-fill suggestion buttons (Client Name, Property Address, Client Email) that insert the corresponding value into the selected field
- [x]**TXTF-03**: Text fill values entered per-field appear correctly embedded in the preview PDF and the final prepared PDF; the staleness token resets on any text field value change
- **FORMS-V2-02**: Agent can save a prepared document as a reusable template (pre-filled fields, pre-placed signature zones)
### Analytics
- **ANALYTICS-V2-01**: Agent can see when a client opened the signing link
- **ANALYTICS-V2-02**: Agent can see how long it took from send to signature
## Out of Scope
| Feature | Reason |
|---------|--------|
| Native iOS/Android app | Responsive web app handles mobile signing; no separate app needed |
| Client login portal | Clients sign via anonymous token link only; no accounts in v1 |
| DocuSign/HelloSign integration | Defeats the purpose of custom-branded, zero-per-month signing |
| Multi-agent / team support | Solo agent only; role/permissions system not needed |
| In-app PDF content editing | Real estate contracts have legally mandated language; editing creates liability |
| AI chatbot | Off-brand for a personal agent site |
| WebSocket real-time signing session | Signing is one-shot; no live session needed |
| utahrealestate.com forms scraping (automated credential login) | Likely violates ToS; use vendor API or manual upload instead |
## Open Questions
- **DOC-01 — Vendor API forms access**: Does vendor.utahrealestate.com/webapi expose the forms library (PDF downloads) in addition to listing data? This determines whether monthly sync can be automated or requires manual upload. Needs investigation in Phase 4.
- **MKTG-02 — Listings deferred**: Full WFRMLS listings integration moved to v2. v1 shows a placeholder section. When vendor API access is obtained, promote MLS-01–04 from v2 to active.
## Traceability
Which phases cover which requirements. Updated during roadmap creation.