Built around the part of a refund that usually goes wrong
Most refund disputes do not fail on the merits. They fail because the evidence is scattered, the status is unknowable and nobody can say who is holding it. That is the problem this platform is shaped around.
A case is a record, not a conversation
An email thread is a terrible container for a dispute. It has no status, no structure, and no way to prove what was sent when.
RoyalRefund models a refund case the way an operations team would want it: a single row with an owner, a stage, a timestamped history, a document set and a message thread attached to it. Every change writes an entry. Nothing moves silently.
The result is unglamorous and deliberately so. There is no scoring engine promising odds of success and no dashboard implying progress that has not happened. What the platform offers is a case that is complete when it reaches a reviewer, and legible to you at every point after that.
The platform covers that workflow end to end: registration, submission, evidence upload, review, status change, resolution and public tracking, with the access controls each of those steps requires.
0+
Claims processed
Across every case type
$0.0M
Funds recovered
Converted to USD
0%
Client satisfaction
Rated after resolution
0/7
Case support window
Every day of the year
Four rules the product is held to
They are the reason certain conveniences are missing and certain frictions are deliberate.
Say where the case actually is
A status is only useful if it means something specific. Every state in this platform has a definition and an exit condition, and both are published.
Ask for less
A refund case needs a transaction, a story and evidence. It does not need a banking password or a card PIN, so no field on this platform accepts one.
One shared record
You and the reviewer read from the same case history. Nothing decisive happens in an inbox neither of you can search later.
The case and the money in one place
A recovery is only finished when the money reaches you. Your case and the account it pays into live together, so a settled claim credits your balance without a second system to chase.
Built With Security At Every Step
These are the controls the platform actually implements, described in the terms an engineer would use. Nothing here claims a certification we cannot evidence.
Secure Authentication
Sessions are issued and refreshed by Supabase Auth over httpOnly cookies. Passwords are hashed by the provider and are never stored by this application.
Encrypted Data
Data travels over TLS and sits in a managed Postgres instance encrypted at rest by the provider, with row level security on every table.
Protected Documents
Uploads land in a private storage bucket keyed by user id. Files are served through short-lived signed URLs, never public links.
Case Access Controls
Administrative access is decided by a server-side role lookup and mirrored in database policy. A client-side check alone never grants access.
RoyalRefund will never ask for a banking password, a card PIN, a one-time code, a seed phrase or a private key. If any page ever appears to, close it and report it.
Start the case you have been putting off
Creating an account takes a minute. Submitting a case takes about ten, and you can save and come back to it. No banking passwords, no PINs, no recovery phrases.
Stay Updated
Product notes and changes to the case workflow. Unsubscribe anytime.