The whole summary, decoded (the link carries it base64-encoded, so it fits)
{
"v": 4,
"app_name": "quote-builder",
"stack": [
"Next.js 15",
"Stripe"
],
"runtime": "Node.js 20",
"database": "Postgres (Neon)",
"current_host": "Vercel",
"built_with": "Claude Code",
"payments": "Stripe Checkout",
"personal_data": "yes",
"relies_on": [],
"ratings": {
"hosting-fit": "fine",
"backups": "fix-soon",
"monitoring": "fix-now",
"secrets": "fix-now",
"data-access": "fix-now",
"dependencies": "fix-soon",
"personal-data": "fine",
"deploys": "fine",
"handover": "fine"
},
"findings": [
{
"area": "secrets",
"rating": "fix-now",
"title": "A live Stripe secret key is in the git history",
"detail": "Anyone who can see the repository can take payments or issue refunds on your account. Roll the key in Stripe first, then keep the new one in the host’s settings."
},
{
"area": "data-access",
"rating": "fix-now",
"title": "Any signed-in user can read any quote",
"detail": "Quote IDs count up from 1, so anyone with a login can read every quote, with customer names and emails. Check a quote belongs to the user before returning it."
},
{
"area": "monitoring",
"rating": "fix-now",
"title": "Nothing alerts anyone when the app goes down",
"detail": "If it stops, nobody hears until a customer says so. Add a health-check route and point an uptime monitor at it, alerting two people."
},
{
"area": "backups",
"rating": "fix-soon",
"title": "Backups rely on Neon’s restore window, and a restore has never been tested",
"detail": "A restore nobody has tried may not work on the day it’s needed. Take an export today, and test restoring it into a scratch database."
},
{
"area": "dependencies",
"rating": "fix-soon",
"title": "Two packages have published vulnerabilities, one rated high",
"detail": "Known vulnerabilities are what automated attacks look for first. Run npm audit and update what it flags."
}
],
"unknowns": [
{
"text": "Whether Neon’s point-in-time restore is switched on, and for how long",
"detail": "The Neon dashboard shows it, so whoever owns that account can check."
}
],
"route": 1,
"route_reason": "A standard Next.js app. The Postgres database stays on Neon, and the app keeps connecting to it.",
"server": "Cloud 2",
"server_reason": "The Next.js build runs on the server, and 2GB is tight for that."
}
Your app’s name and stack, each area’s rating, the findings and a suggested server, all read from the code. No file paths, code, keys or people’s names.