All Docs
FeaturesDepositClearUpdated March 13, 2026

Signature Expiry — Remediation Gap & Roadmap

Signature Expiry — Remediation Gap & Roadmap

Status: Gap identified in v0.1.286. Remediation work is pending.

Overview

The signatures workflow allows landlords, agents, and tenants to electronically sign check-in and check-out reports. Signature requests have an expiry window. Once expired, the request can no longer be completed by the recipient using the original link.

This page documents the current behaviour, the identified gap, and the planned remediation.


Current Behaviour

Dashboard Stat Card

The signatures dashboard displays a set of stat cards, including:

Expired: N

This card shows a raw count of expired signature requests but is not clickable and does not link agents to a filtered list of the expired items.

Signature Row Actions

For pending signature requests, each row in the list provides:

  • Copy link — copies the signing URL to the clipboard
  • Preview — opens a read-only view of the document

For expired signature requests, no actions are available. There is no Resend button or equivalent remediation option in the row UI.

Empty State

When no pending signature requests exist, the empty state reads:

"Signature requests are created from check-in and check-out report pages."

This message does not guide agents toward resolving expired requests.

Background Sweep

A background Inngest function (src/inngest/functions/signature-expiry-sweep.ts) runs a sweep to detect expired signature requests. Currently this sweep does not trigger any UI update, notification, or agent-facing prompt.


Identified Gaps

GapDetail
No resend action on expired rowsAgents cannot resend an expired request without leaving the dashboard
Expired stat card is not actionableThe Expired: N count cannot be clicked to reach a filtered view
No agent notification on expiryThe background sweep detects expiry but sends no nudge email or in-app alert

Planned Remediation

1. Resend Button on Expired Rows

Each expired signature row will gain a Resend button. Clicking it will:

  1. Call the existing signatures.resend mutation, or
  2. Generate a new signing token if no resend mutation exists.

This allows agents to action expired requests in one click without navigating away.

[ Expired ] John Smith — Check-out Report        [ Resend ]

2. Hyperlinked Expired Stat Card

The Expired: N stat card will become a clickable link that navigates to:

/dashboard/signatures?status=expired

This gives agents a direct path from the summary view to the full list of expired requests requiring action.

3. Agent Nudge Email via Inngest

The existing signature-expiry-sweep.ts Inngest function will be extended to dispatch a nudge email to the responsible agent when one or more signature requests expire. The email will surface the affected document and a direct link to the signatures dashboard.


Related Files

FilePurpose
src/app/dashboard/signatures/signatures-dashboard.tsxRenders the stat cards and signature list
src/inngest/functions/signature-expiry-sweep.tsBackground function that detects expired requests

Compliance Note

Under the Renters' Rights Act, timely document signing is part of a compliant check-in and check-out process. Expired signature requests that are not re-issued can delay deposit dispute resolution. Remediating this gap ensures agents are prompted to act before delays compound.