How a rescue works
Five steps, each with a clear owner. You stay in control of your code at every step.
Connect your repo and your live URL
Install the Rivyva GitHub App on the repository you want rescued. GitHub shows you exactly what the app can do before you approve it. Then tell us your live URL and prove it's yours by adding a small file, a meta tag or a DNS record.
What the GitHub App can do
- Read your code, so we can scan it.
- Create branches whose names start with
rescue/, so each fix lives on its own branch. - Open pull requests and post check results.
What it can't do
- Merge pull requests or push to your main branch.
- Change repository settings, secrets or GitHub Actions workflows.
- See repositories you didn't select.
You can remove the app from GitHub at any time. When you do, we stop all access straight away and delete your app's data within 30 days.
We scan the code and the live site
We check your repository and your live app against 63 checks. Each check has an ID (like DB-001), a plain-English explanation and a fix strategy. Code is scanned inside an isolated, temporary environment that is deleted when the scan ends.
- Data — open tables, exposed keys.
- Payments — unsigned webhooks, prices taken from the browser.
- Accounts — unprotected admin pages, weak session cookies.
- Availability — no backups, no rollback, no error tracking.
- Hygiene — outdated packages, debug routes left on.
A Health Score from 0 to 100
The score weighs problems by how much harm they could do. A data leak counts for more than a missing header. Any open critical problem keeps the score below 50, so a high score can't hide a serious issue. Checks that couldn't run are shown as "Not checked" and don't count either way.
- 85–100 Healthy. No open critical or serious problems in the checks we ran.
- 60–84 Needs attention. No critical problems, but some serious or minor ones.
- 0–59 Critical. At least one problem that could expose data or money now.
Small pull requests, reviewed by a person
For each problem we can fix, we open one pull request that changes as little as possible. Each pull request includes why it matters, what changed, a test that fails before the fix and passes after it, and how to undo it.
A Rivyva engineer reviews every fix against a written checklist before we mark it ready. Then it's your call. Merge it, ask for changes, or close it.
Some problems need a decision only you can make, like rotating a leaked key with your provider. For those we give you step-by-step instructions instead of a pull request.
Proof, not promises
After you merge, we check again. Then we run drills on throwaway copies, never on your live app:
- Restore drill: we restore your latest backup into a temporary database and record how old the backup was and how long the restore took.
- Rollback drill: we build the previous version of your app in a preview and check it starts.
- Webhook drill: on your staging site, we send a correctly signed test event, a fake one and a duplicate, and check your app handles each one properly.
You get a before-and-after report and a readiness letter. The letter lists which checks passed on which commit, which didn't, and what we didn't check. Every report has a fingerprint (a SHA-256 hash) you can verify on our site.
The readiness letter never says your app is "secure". No honest test can promise that. It says exactly what was checked and what passed.
Keep watching after the rescue
Apps change every day. With Watch, we rescan after every push to your main branch and every night, alert you when something new appears, and open a fix pull request where we can. Audit + Critical Fix includes 30 days of Watch.
Optional: move to managed hosting
If you want us to run your app, we can move it to managed hosting with backups and monitoring. We test the move on a staging copy first. You switch your domain over when you're ready; we never switch it for you.
Available on request. Ask us.