Draft — not in force. This document has not been approved and does not yet bind anyone. It is published here for review only.
How to stop receiving letters
Opt-out handling process (DRAFT v2, awaiting Dan's approval)
Renamed 2026-08-20 (ticket 869em1n5x): the trading name changed
from Plan & Post to Just Granted. The controller is unchanged —
Blueworkz Ltd, company number 13258077. The contact address and
website named below still read planandpost.co.uk: the new domain
and mailbox are separate tickets (869em1nqu, 869em1ny7), and the
old address keeps working either way.
Status: DRAFT v2 (2026-08-07). Ticket D6, revised against Dan's
7 Aug review. This is the operational runbook for honouring
objections. Dan approves the commitments (especially the
10-working-day SLA) before the first real letter.
Changed in v2: real contact details in place of placeholders;
Kestrel → Plan & Post.
Commitments
1. Every letter carries: "To stop letters like this, email
hello@planandpost.co.uk, quoting reference {application reference}."
(Enforced by the send pipeline, not left to client template text.)
Revised 2026-08-10, v0.105.0 (ticket 869efxmh2, Dan's call).
The sentence previously also printed Blueworkz Ltd's registered
office. That is Dan's home address, and it is now removed from all
artwork: the second footer sentence links the privacy notice, which
carries the registered office and every contact route. **Post is
still an intake channel** (see below) — an objection that arrives by
post is honoured exactly as before; it is simply no longer printed on
the letter.
Built and verified 2026-08-09, v0.85.0 (ticket 869efxmh2).
platform/letters/compliance.py composes it; the letter and postcard
artwork paths print it. It appears on every page of a letter and on
the message side of all three card sizes, in bold under a rule, and
is followed by the Article 14 sentence naming the source register,
Blueworkz Ltd as controller, and the privacy-notice URL. No template
setting can remove it. platform/tests/unit/test_compliance_footer.py
asserts it in rendered PDF output for every format — including, since
v0.105.0, that no postal address appears on any surface.
2. An objection is honoured within 10 working days of receipt, and
applies across all Just Granted clients — one request stops
everything sent through the platform.
Extended 2026-08-11, v0.109.0 (ticket 869ee2apd): it also stops
the data. A suppressed person is excluded from the CSV export
(applications/export.py), so a subscriber cannot download the name
and address of someone who has objected and write to them
independently. ExportEvent.suppressed_count records how many rows
each download withheld. Copies downloaded *before* the objection are
beyond our reach — the subscriber is an independent controller of
those and is bound by terms §5 to honour objections themselves.
3. **Suppression stops future letters; it does not by itself erase the
planning records.** Someone who asks for erasure as well gets it —
see step 4 of the runbook. The suppression entry always survives.
3. No proof or reason is ever required. "Stop writing to me" is enough.
Intake channels
- Email to hello@planandpost.co.uk (monitored by Dan;
auto-acknowledge later).
- Post to Blueworkz Ltd's registered office (as published in the privacy
notice). Not printed on the artwork since v0.105.0, but honoured
identically when it arrives.
- A phone call or any informal message that identifies the address is
treated identically — the channel doesn't matter, the request does.
Handling steps (operator runbook)
1. Identify the site address/postcode (and name, if given) from the
request or the quoted application reference.
2. Add a suppression entry in the platform admin
(/admin/letters/suppressionentry/): postcode (required), address
line and name (as available), source = how the request arrived,
note = free text. The entry takes effect immediately: suppressed
applicants are excluded from every future send by
letters.suppression.sendable() — D4 builds its send pipeline on
exactly this function, and every send re-checks at dispatch time.
3. Reply confirming the stop (email template below), unless the
request was anonymous post with no return route.
4. If the person also asks for erasure (beyond stopping letters),
handle under the privacy notice's rights section: remove their
name/address from the applicant records within one month, keeping
only the suppression entry.
5. Log nothing beyond the entry itself — the suppression record IS the
audit trail (created_at, created_by are stored).
Confirmation reply template
Thank you for getting in touch. We've added your address to our
suppression list, which stops letters from every business that uses
our service — you won't hear from us again. If you'd also like the
underlying records removed, reply to this message and we'll erase
them within a month.
Escalation
Complaints that go beyond an opt-out (ICO threats, distress, repeated
contact claims) go to Dan the same day. If a suppressed address ever
receives another letter, that is a sev-1 product failure: find the
gap, fix it, write it up in the build diary.