Access card — the last full day of an outside company's access

The access line names the last full day for a date-only end, and the exact UTC moment for a timed one (admin handoff, part 11).

8 Oct 2026 · branch p00-replace-access-wording · captured against propflow-stage · at 4313d16966f

Captures and how they were made

Data note. Every name and balance below comes from propflow-stage, which is anonymized by construction (ADR-0097/0110 — phones in the impossible +1000 NPA, emails @example.test). The identical capture against prod would carry real tenants' names and balances and is not safe to attach anywhere, which is why the generator refuses to run against one.

1 · A customer nobody else runs: the Access card is unchanged

For a customer no outside company runs (every customer today), the Access card is exactly what it was: the title, the invite button, and the people. No line about another company appears.

Asserted in the captured DOM — Access · Invite admin

A customer nobody else runs: the Access card is unchanged

How sections 2 and 3 were captured. Stage has no arrangement, and this lane writes nothing. So these come from the same dev server and the same signed-in staff view, with two made-up outside companies added to the roster read's response in the browser only. One ends on a date-only day, Dec 30, 2026, which is exclusive. The other ends at a mid-day instant. Nothing was written. The capture tool did not assert these sections. CustomerDetailClient.accessCard.test.tsx asserts the same sentences word for word, and that each date is one unbreakable run.

2 · Wide card: the last full day, and an exact UTC moment

An end of Dec 30 is exclusive: access stops at the start of that day. So the line now says "Their access runs through Dec 29, 2026", the last full day, instead of "ends Dec 30", which a reader could take as "still works on the 30th". A timed end names the moment: "Their access ends Mar 15, 2027, 6:30 PM UTC". The last day is worked out with Date.UTC and rendered by formatDateMedium, so no zone can shift it.

Access card, wide

3 · Narrow card: the date stays whole

Screenshot round 2 found that at a narrow width the date broke across lines ("Mar 15, / 2027, 6:30 PM UTC"). The date and time are now one unbreakable run, so the sentence wraps before the date, never inside it.

Access card, narrow
PropFlow Docs