Skip to main content

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

TypeDescription
Fraudulent claimSomeone claimed a church they don't represent
Stale claimPrevious pastor/staff member claimed it and left
Duplicate claimSomeone tried to claim an already-claimed church
Incorrect claimChurch 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.com claimed gracechurch.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