Payora — quality report QR-26-00100 | Vibe96

‹ PayoraQuality report QR-26-00100

Payora
Vibe96 quality report

Payora

UAE payroll system with GPSSA, WPS, final settlement and employee portal — English and Arabic

Product ID
B0001-88422
Builder
Chow Studio
Version reviewed
1.2.2 · released 6 Nov 2026
Stack
ASP.NET Core MVC 10 · C# 13 (.NET 10) · SQL Server 2019+
Built with
Claude Code
Review period
3 Nov 2026 – 6 Nov 2026
86out of 100 Passed with 2 warningsPass mark 75 and no failing check.

Scores

Security87
Code structure84
Docs & completeness80
Dependency health78
Build & deploy88
  1. AI code audit6 checks · 3 Nov 2026
  2. Installed & run5 Nov 2026
  3. Demo vs delivered6 Nov 2026
  4. Final sign-off6 Nov 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.
  • 12 of 15 promised items delivered (setup guide, example config and the rest).
  • Security scored 87/100 with no failing check.
  • 2 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 & credentialsEvery regex candidate is either an environment-variable reference (docker-compose.yml), a CI-generated random password (ci.yml), or a method signature with CancellationToken (ICustomizationRepository.cs, false positive). appsettings.json holds only a Windows-auth development connection string, and .env.example has empty values. No keys, tokens or private keys were found in the visible files, though the digest is partial.93Pass
Dependency vulnerabilitiesEvery .NET project has a packages.lock.json, locked restore is enabled in Directory.Build.props, and CI and the Dockerfile appear to use it. The excerpts do not include the lockfile or csproj contents, so installed versions could not be checked against advisories. The score is capped at the warning range until those can be reviewed, and a few non-package pins need attention.78Warning
Authorisation & access controlA fallback policy requires sign-in on every endpoint, [HasPermission] policies enforce roles, and the settings base controller returns 403 if a derived controller has no permission attribute. Org-scoped queries and a build-time EndpointAuthorizationTests suite point to strong ownership checks. Only a fraction of the 746 files were visible, so the full endpoint list could not be traced and some points are withheld.88Pass
Database access rulesThe digest shows raw parameterised ADO.NET, an organization-scoped repository convention, 19 migration scripts, a from-scratch schema.sql, and dedicated foreign-key index and performance index migrations. The repository implementations (33 files) and the Administration SQL writers were not included in the excerpts, so I found no evidence of injection or unscoped deletes but could not confirm their absence.80Warning
Code structure & duplicationThe solution follows a clear Clean Architecture split (Domain, Application, Infrastructure, Web) with features grouped into folders and a shared generic base for settings CRUD controllers, which removes much duplication. The digest shows no copy-pasted modules or dead-code dumps, but a few multi-concern files and hard-coded values would be worth splitting.84Pass
Build reproducibilityThe solution layout, locked package restores, pinned SDK, pinned SQL Server image and compose start order (db, db-init, app) are coherent, and the setup route creates the database before the app starts. HowToSetup.md and the a project file contents were not in the digest, so prerequisites and framework consistency could only be checked through CLAUDE.md and compose references.88Pass

Open warnings

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

Warning 1 Lockfiles present, but package versions were not shown so a vulnerability audit is not possible

Every .NET project has a packages.lock.json, locked restore is enabled in Directory.Build.props, and CI and the Dockerfile appear to use it. The excerpts do not include the lockfile or csproj contents, so installed versions could not be checked against advisories. The score is capped at the warning range until those can be reviewed, and a few non-package pins need attention.

Warning 2 Parameterised ADO.NET and org-scoped design look sound, but most SQL could not be inspected

The digest shows raw parameterised ADO.NET, an organization-scoped repository convention, 19 migration scripts, a from-scratch schema.sql, and dedicated foreign-key index and performance index migrations. The repository implementations (33 files) and the Administration SQL writers were not included in the excerpts, so I found no evidence of injection or unscoped deletes but could not confirm their absence.

Requirement list

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

  • Complete source for every component Met
  • No real credentials in the archive Met
  • Builds from a clean machine Partial
  • Database script or migrations Met
  • Authentication and roles on every mutating endpoint Partial
  • Pinned dependencies without critical CVEs (nice)Met
  • Documentation set (nice)Met
  • Working live demo Partial
  • 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 5 Nov 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 6 Nov 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 6 Nov 2026 with 2 warnings shown publicly.

What this report covers — and what it doesn't

  • It covers version 1.2.2 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.

Report history

ReportVersionDateScoreStatus
QR-26-001001.2.26 Nov 202686Current
QR-26-000061.0.04 Oct 202692Replaced

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