GreenRinse — quality report QR-26-00051 | Vibe96

‹ GreenRinseQuality report QR-26-00051

GreenRinse
Vibe96 quality report

GreenRinse

Mobile car-wash management for fleet operators: offline-first washer app, admin dashboard, partner portal.

Product ID
B0003-25486
Builder
Max code
Version reviewed
1.0.0 · released 20 Oct 2026
Stack
ASP.NET Core 10 + React 18.3 + TypeScript 5.9 · C# 13 / .NET 10 · SQL Server 2019+
Built with
Claude Code
Review period
20 Oct 2026 – 22 Oct 2026
86out of 100 Passed with 5 warningsPass mark 75 and no failing check.

Scores

Security92
Code structure72
Docs & completeness100
Dependency health85
Build & deploy72
  1. AI code audit6 checks · 20 Oct 2026
  2. Installed & run20 Oct 2026
  3. Demo vs delivered20 Oct 2026
  4. Final sign-off22 Oct 2026

At a glance

  • Installed and run from the delivered code — 8 of 8 checks answered yes.
  • Live demo compared with the delivered code — 7 of 7 checks answered yes.
  • 15 of 15 promised items delivered (setup guide, example config and the rest).
  • Security scored 92/100 with no failing check.
  • 5 open warnings — explained in part 1.
Part 1

AI code audit

The full source archive was read by our AI auditor against each check. It reads the code — it does not run it; running it is part 2.

CheckWhat we foundScoreResult
Secrets & credentialsNo real credentials were discovered. However, several example/template files contain weak or realistic-looking placeholder values that could be mistaken for production secrets. The docker-compose setup uses environment variables correctly, but .env.example contains instructional placeholders that should be more obviously fake.92Warning
Dependency vulnerabilitiesThe project uses .NET 10 (preview/RC) and npm packages with exact versions in package-lock.json. No known critical vulnerabilities found in the listed dependencies. Several packages are outdated (React 18, Vite 5, .NET packages from 2024) but not critically vulnerable. The use of .NET 10 preview in production is a concern.85Warning
Authorisation & access controlAll mutating endpoints require authentication and role-based policies. Passwords use proper hashing (BCrypt). Global query filters enforce partner data isolation. Minor gaps: some read endpoints (GET /api/users/{id}, GET /api/partners/{id}, GET /api/vehicles/{id}) lack explicit ownership checks beyond query filters, and the Partner API v1 controller has weaker validation on some lookups.92Warning
Database access rulesAll database access goes through EF Core with parameterised queries. Global query filters enforce tenant/partner scoping and soft-delete. Migrations are complete and reversible. Minor findings: a few foreign keys lack indexes (VehicleId on WashRecord, PartnerId on several tables), and one temporal table (FleetVehicle) could benefit from an index on the period columns for history queries.92Pass
Code structure & duplicationThe backend follows clean layering (Domain → Application → Infrastructure → Api) with good separation of concerns. However, the frontend has significant duplication across three app folders (admin, partner, operator-pwa), and several files exceed 500 lines. Some hard-coded values and configuration belong in environment or settings tables.72Warning
Build reproducibilityThe .NET backend builds cleanly with consistent SDK/framework versions and proper project references. However, the frontend npm workspaces lack a root workspace configuration file, making `npm ci` at the root ambiguous. HowToSetup.md jumps between backend and frontend without clarifying the frontend build must happen from the workspace root, and the Docker setup references environment variables not fully documented in .env.example.72Warning

Open warnings

Problems that did not stop the listing. They stay on the product page until a later version fixes them.

Warning 1 Outdated dependencies present; no critical vulnerabilities detected

The project uses .NET 10 (preview/RC) and npm packages with exact versions in package-lock.json. No known critical vulnerabilities found in the listed dependencies. Several packages are outdated (React 18, Vite 5, .NET packages from 2024) but not critically vulnerable. The use of .NET 10 preview in production is a concern.

Warning 2 Weak default secrets in example files; no real credentials found

No real credentials were discovered. However, several example/template files contain weak or realistic-looking placeholder values that could be mistaken for production secrets. The docker-compose setup uses environment variables correctly, but .env.example contains instructional placeholders that should be more obviously fake.

Warning 3 Strong auth/authz with minor ownership gaps on read endpoints

All mutating endpoints require authentication and role-based policies. Passwords use proper hashing (BCrypt). Global query filters enforce partner data isolation. Minor gaps: some read endpoints (GET /api/users/{id}, GET /api/partners/{id}, GET /api/vehicles/{id}) lack explicit ownership checks beyond query filters, and the Partner API v1 controller has weaker validation on some lookups.

Warning 4 Build reproducible with gaps: missing npm workspace config, unclear frontend build order

The .NET backend builds cleanly with consistent SDK/framework versions and proper project references. However, the frontend npm workspaces lack a root workspace configuration file, making `npm ci` at the root ambiguous. HowToSetup.md jumps between backend and frontend without clarifying the frontend build must happen from the workspace root, and the Docker setup references environment variables not fully documented in .env.example.

Warning 5 Moderate duplication and some oversized files; business logic mostly well-layered but frontend has scattered concerns.

The backend follows clean layering (Domain → Application → Infrastructure → Api) with good separation of concerns. However, the frontend has significant duplication across three app folders (admin, partner, operator-pwa), and several files exceed 500 lines. Some hard-coded values and configuration belong in environment or settings tables.

Requirement list

What the builder agreed to deliver before uploading — 15 of 15 met.

  • Complete source for every component Met
  • No real credentials in the archive Met
  • Builds from a clean machine Met
  • Database script or migrations Met
  • Authentication and roles on every mutating endpoint Met
  • Pinned dependencies without critical CVEs (nice)Met
  • Documentation set (nice)Met
  • Working live demo Met
  • README.md Met
  • HowToSetup.md Met
  • CLAUDE.md (or AGENTS.md) (nice)Met
  • CHANGELOG.md (nice)Met
  • appsettings.example.json Met
  • a project file Met
  • a project file (nice)Met
Part 2

Human review

Reviewers from the Vibe96 team in Dubai worked through each question below; a final reviewer signed it off.

Stage 1 — Installed and run from the delivered code

Completed 20 Oct 2026

A reviewer installed the product on a clean machine, following only the guide that ships with it.

QuestionAnswerReviewer's note
Packages restored without errorsYes
Solution builds cleanYes
Database created from the shipped script or migrationsYes
First sign-in works with the documented stepsYes
Setup guide is accurate and completeYes
Every module in the feature list opens and worksYes
No real secrets in the archiveYes
Branding and company details can be changed without codeYes

Stage 2 — Live demo compared with the delivered code

Completed 20 Oct 2026

A second reviewer checked that what the listing and demo show is what the buyer receives.

QuestionAnswerReviewer's note
Demo URL is reachableYes
Demo credentials workYes
Demo runs the same version as the archiveYes
All five differentiators are visible in the demoYes
Screenshots match the demoYes
Nothing in the demo is missing from the codeYes
Datasheet claims are accurateYes

Changes asked for during review

  • None — approved on the first round.
  • Sign-off: approved for sale on 22 Oct 2026 with 5 warnings shown publicly.

What this report covers — and what it doesn't

  • It covers version 1.0.0 exactly as the buyer downloads it: the source archive, the setup guide and the live demo on the dates above.
  • It is not a penetration test, a performance or load test, or a legal review of third-party package licences.
  • Scores are a point in time. Libraries age; a later version is audited again and gets its own report.
  • Your setup matters. Hosting, configuration and changes made after purchase are outside this review.
  • How the score is made: each AI check is scored 0–100 and weighted (security counts most). A listing needs 75 or more, no failing check, and the human review passed.
  • Always try the live demo before buying, and ask the builder questions from the product page.

Vibe96 FZ-LLC, Dubai, UAE. This report describes the product at the time of review and is not a warranty.