Knowledge > Runbooks > Customer Ops > Claim Dispute
Handle a PewSearch Claim Dispute
Resolve a situation where a church listing was claimed by someone who shouldn't have claimed it, or where two parties claim the same church.
Prerequisites
- Supabase access
- Church's slug or name to identify the listing
- Contact information for both parties (if two parties are disputing)
Types of Disputes
| Type | Description |
|---|---|
| Fraudulent claim | Someone claimed a church they don't represent |
| Stale claim | Previous pastor/staff member claimed it and left |
| Duplicate claim | Someone tried to claim an already-claimed church |
| Incorrect claim | Church claimed the wrong listing (wrong slug) |
Steps
1. Identify the church and current claimant
SELECT c.id, c.name, c.slug, c.email,
cas.token, cas.created_at AS session_created,
pc.plan, pc.stripe_subscription_id
FROM churches c
LEFT JOIN church_admin_sessions cas ON cas.church_id = c.id
LEFT JOIN premium_churches pc ON pc.church_id = c.id
WHERE c.slug = '[church-slug]';
Note the church_id, session creation date, and whether there is an active premium subscription.
2. Verify the legitimate claimant
To determine who legitimately represents the church:
-
Email domain match: Does the claimant's email match the church's website domain?
SELECT email, website FROM churches WHERE id = '[church-uuid]';If
pastor@gracechurch.comclaimedgracechurch.com, that is likely legitimate. -
Website verification: Check the church's website for staff/contact info.
-
Phone verification: Call the church's listed phone number and ask to speak with the person who manages their online presence.
-
Document request: Ask the disputing party to provide proof (church letterhead, email from a church domain, or a social media post from the church's account).
3. Resolve based on finding
Fraudulent or stale claim — remove the existing session:
Get founder approval first for any session deletion. Then:
-- First, confirm the session to be deleted
SELECT * FROM church_admin_sessions WHERE church_id = '[church-uuid]';
-- With founder approval:
DELETE FROM church_admin_sessions WHERE church_id = '[church-uuid]';
Then help the legitimate claimant go through the claim flow at pewsearch.com/claim/[slug].
Incorrect claim (claimed wrong listing):
- Remove the session on the incorrectly claimed listing (with founder approval)
- Direct the user to the correct listing's claim flow
Duplicate claim attempt (already claimed by legitimate owner):
- Confirm the existing claimant is the correct owner
- Inform the second party that the listing is already managed
- Provide the church's contact info if they need to reach the current admin
4. If there is an active premium subscription
If the disputed listing has a premium_churches row with an active stripe_subscription_id:
- Do NOT cancel the subscription without founder approval
- The subscription billing is separate from access — cancelling it loses the church's payment
- Instead, transfer access to the legitimate owner by removing the old session and issuing a new one
- If refund is needed for the fraudulent claimant, see refund.md
5. Notify both parties
- Email the removed party explaining why their access was revoked
- Email the legitimate party with their new claim link or token
- Keep a note of the dispute resolution in case it is revisited
Verification
After resolution:
SELECT token, created_at FROM church_admin_sessions WHERE church_id = '[church-uuid]';
Only the legitimate claimant's session should exist.
Test the legitimate claimant can access their admin: pewsearch.com/admin/[new-token]
See Also
- update-church-info.md — if church data needs correction
- onboard-new-church.md — if a new session needs to be created
C:\dev\pewsearch\web\src\app\claim\— claim flow code