← Back

How Your Data Is Handled

Your name and address never touch our database. We search, show you the results, and move on.

Data Flow

👤
You
enter info
JustClaim
search
🔍
Sources
find matches
🖥️
Your Browser
store results

The server passes your info to public databases. It doesn't save it.

What Each Party Sees

JustClaim Server
  • ·Your name, city, zip — used to search, then discarded
  • ·Your email — stored so we can alert you about new claims
  • ·Random ID + timestamp — to connect your payment to your scan
Public Databases
  • ·Your name + location — same as if you searched them yourself
  • ·Each database has its own privacy policy
Your Browser
  • ·The results — stored locally so you can see them
  • ·Cleared when you close the tab or after 48 hours

What's Stored Where

Your Browser (sessionStorage)Your device
  • ·Claim names and sources
  • ·Estimated amounts
  • ·Filing links and claim guides
  • Cleared when you close the tab or after 48 hours.

JustClaim DatabaseOur server
  • ·Your email address
  • ·Random scan ID
  • ·Timestamp
  • ·Whether you paid
  • That's it. No names, no addresses, no claim data.

StripePayment processor
  • ·Card number, billing address
  • ·Transaction record
  • Handled entirely by Stripe. We never see your card.

Emails

Your email is the only personal info we keep. Here's exactly what we do with it.

We send you alerts when we find new money
  • ·New class action settlements in your area
  • ·Newly reported unclaimed property in your state
  • ·Government benefits you may qualify for
We don't
  • ·Sell or share your email with anyone
  • ·Send spam or partner promotions
  • ·Make it hard to leave — every email has one-click unsubscribe

The Code

This is what actually runs. No hand-waving.

From the scan endpoint — this is what gets saved to the database:

app/api/scan/route.ts
// This is everything we store. Nothing else.
await supabase
  .from('scans')
  .insert({
    scan_token: scanToken,
    email: userEmail,
    expires_at: new Date(
      Date.now() + 24 * 60 * 60 * 1000
    ).toISOString(),
  });

And this is how results are saved — in your browser, not ours:

lib/scan-storage.ts
// Results live in your browser. We never see them.
sessionStorage.setItem(
  `jc_scan_${scanToken}`,
  JSON.stringify({
    claims: data.claims,
    totalAmount: data.totalAmount,
    sources: data.sources,
    timestamp: Date.now(),
  })
);

Database Schema

The scans table:

ColumnType
iduuid
scan_tokentext
emailtext
expires_attimestamp
paidboolean
No columns for names, addresses, or claim data.
← Back to JustClaim