How Voter Approval Works

The CPP says voters must be confirmed residents. Here’s the workflow from your address claim to your first vote — and the safeguards in between.

Last updated 2026-05-25

Why approval exists

The Birmingham Citizen Participation Plan (1974, last revised under 24 CFR 91.105) requires that votes in neighborhood-association elections come from people who actually live in that association’s boundaries. Without that constraint, anyone could vote in any NA’s election from anywhere — including outside the City.

Approval is the platform’s way of doing what an NA Secretary used to do at the door of an in-person meeting: confirm the person voting lives where they say they live.

The workflow, step by step

You submit an address claim from /residency. The platform geocodes your address against Birmingham’s official Open Data Portal boundaries and picks the NA your address falls inside. A row is written to resident_verifications with status=PENDING. Nothing public changes yet.

Your NA’s admin sees your row appear at /admin/residency-claims. They review it, see the address, the matched NA, and the geocoder’s confidence score. They click Approve (or Reject — rare; usually because the address didn’t resolve cleanly or you live just outside).

On approval, your status flips to APPROVED. The next time the platform recomputes your scopes (immediately, in practice), `voter_approved` becomes true for that NA. You can now cast votes in that NA’s elections.

Every step is logged in the audit log. RESIDENCY_CLAIMED on submission. RESIDENCY_APPROVED or RESIDENCY_REJECTED on the admin decision. The actor, the resident, the neighborhood, the timestamp — all permanently recorded and inspectable.

What could go wrong, and what doesn’t

Could go wrong: a rare geocoder miss pins you to a neighboring NA. Fix: the admin can reject your claim with a note, and you can re-submit with a more precise address. The geocoder works against the official City boundary file, so this is unusual but not impossible at the edges.

Doesn’t happen: nobody approves themselves. NA admins can’t approve claims they submitted (the schema and the audit log both prevent self-approval — Glen Iris scenario protections). Platform admins can intervene if an NA admin position is vacant, and any such intervention is logged.

How Voter Approval Works — Help Center