Daily fertility likelihood labels that never say safe #23

Closed
opened 2026-08-18 14:44:42 -05:00 by null · 0 comments
Owner

§18 asks for today's fertility estimate as a label, and gives the vocabulary: Lower likelihood, Higher likelihood, Estimated fertile window.

It also gives the prohibition, in three words: "Avoid 'safe' or 'unsafe' labels."

That is not squeamishness about wording. A person reading "safe" on a day outside the fertile window will take a decision on it, the estimate is derived from a predicted date that carries days of uncertainty, and the app has already promised in §18 that none of this is contraception. "Lower likelihood" is true; "safe" is a claim the model cannot support and the product must never make.

Build the label as a function of the day relative to the estimate, so it is testable, and show it on Today under the existing fertility section.

Also worth pinning here: a day can be outside the fertile window and still not be "lower likelihood" if the forecast is barely certain at all. Where confidence is low the honest label is the vaguer one.

Verify: a unit test maps days across a cycle to the three labels; no label string in the codebase contains "safe"; and the label on Today changes as the estimated window is entered and left.

§18 asks for today's fertility estimate as a label, and gives the vocabulary: **Lower likelihood**, **Higher likelihood**, **Estimated fertile window**. It also gives the prohibition, in three words: *"Avoid 'safe' or 'unsafe' labels."* That is not squeamishness about wording. A person reading "safe" on a day outside the fertile window will take a decision on it, the estimate is derived from a predicted date that carries days of uncertainty, and the app has already promised in §18 that none of this is contraception. "Lower likelihood" is true; "safe" is a claim the model cannot support and the product must never make. Build the label as a function of the day relative to the estimate, so it is testable, and show it on Today under the existing fertility section. Also worth pinning here: a day can be *outside* the fertile window and still not be "lower likelihood" if the forecast is barely certain at all. Where confidence is low the honest label is the vaguer one. Verify: a unit test maps days across a cycle to the three labels; no label string in the codebase contains "safe"; and the label on Today changes as the estimated window is entered and left.
null added this to the Batch 04 — Fertility milestone 2026-08-18 14:44:42 -05:00
null closed this issue 2026-08-18 14:56:09 -05:00
Sign in to join this conversation.
No Label
P0
P1
P2
release-blocker
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: null/Privacy-Period-Tracker#23
No description provided.