Loading report…
← nittim
[](https://nittim.com)Material risks remain. Remediate before relying on this in production.Real risks remain. Fix these before you rely on this for real users.Fix these risks before shipping to real users.
This verdict covers the 11% of your repository we read — see what we didn’t read below.This result is based on the 11% of your project’s code we actually read — see what we didn’t read below.Covers 11% of your repo — see what we didn’t read below.
This audit read 220 of your 1992 files — the ones most likely to hurt you first. The snapshot was truncated — this audit's size limit was reached.
The scores and findings above cover only those files. The rest of the repository hasn’t been audited yet. The denominator counts every file in the repository — images, generated output, vendored and build directories included.
src/Modules/SimplCommerce.Module.PaymentBraintree/Data/PaymentBraintreeCustomModelBuilder.csseeds PaymentProvider.AdditionalSettings with literal values: "PublicKey": "6j4d7qspt5n48kx4", "PrivateKey" : "bd1c26e53a6d811243fcc3eb268113e1", "MerchantId" : "ncsh7wwqvzs3cx9q".220 of 1992 files were audited. This audit's size or file-count limit was reached, so some source and configuration files were left unread. The denominator counts every file in the repository — images, generated output, vendored and build directories included.
This audit's size limit was reached before it read the whole repository. The verdict and every score on this report were computed from what it did read — read them as evidence about that sample, not a clean bill of health for the rest.
Limited coverage (11%) — interpret AI Code Confidence cautiously. The audited files were selected by priority, but a large portion of the repository was not seen.
SimplCommerce is a mature, deliberately-architected open-source modular monolith e-commerce platform built on .NET. The audited snapshot (220 of 1992 files, truncated) shows a well-organized modulith with clean separation into feature modules (Catalog, Cms, Orders, Payments, Inventory, etc.), consistent patterns, and a deliberate repository/service abstraction. This is NOT typical 'vibe-coded' output — code is internally consistent and intentional, so AI-risk is low. The deterministic scanners reported zero secret hits and zero known-vulnerable dependencies, but manual review found committed Braintree payment provider credentials in seed data (PaymentBraintreeCustomModelBuilder.cs). The most material risks are operational/supply-chain age: the build targets the end-of-life .NET 5.0 (and an aws-beanstalk Dockerfile still on aspnetcore:2.0), the entire admin SPA is built on long-deprecated AngularJS, and CI uses deprecated CodeQL/checkout action versions. There are also commented-out validation blocks in the Braintree charge flow and no visible automated tests in the audited slice. Overall the system is a legitimate, production-grade codebase but carries meaningful EOL-framework, payment-security, and observability gaps that must be addressed before treating it as production-safe for a commercial deployment.
.github/workflows/codeql-analysis.ymlpins actions/checkout@v2 and github/codeql-action/*@v1.Weighted blend of 4 dimensions → ~61/100. Dimensions are weighted by importance (Security and Privacy weigh heaviest). Published figures are approximate; nittim's exact weighting and precise scoring are proprietary, while the verdict is computed on exact internal values.4 categories combine into ~61/100. Some categories count for more than others (Security and Privacy count the most). The published numbers are approximate; nittim's exact math is kept private, while the verdict itself is worked out from the exact internal numbers.Weighted blend of 4 dimensions → ~61/100 (Security and Privacy weigh heaviest). Published figures are approximate; nittim's exact weighting is proprietary. The verdict runs on exact internal values.
IP Protection is an independent IP-defensibility lens and is excluded from this blend.IP Protection (checking whether your ideas are exposed) is judged separately and isn’t
part of this combined number.IP Protection is judged separately, excluded from this blend.
Scores are a judgement, not a measurement: a re-audit of the same commit can land a few
points either side of this figure. The evidence underneath it is deterministic — the same
commit always yields the same committed-secret and vulnerable-dependency findings.Scores are a judgment call, not an exact measurement: checking the same saved snapshot of
your code twice can land a few points either side of this number. The evidence underneath
it is not — the same snapshot always turns up the same passwords-in-code and known-security-bug
findings.Scores are a judgment, not a measurement — a re-audit can land a few points either side. The evidence underneath is deterministic: the same commit always yields the same secret and vulnerable-dependency findings.
Each score is the model's overall assessment of the dimensions it covers, across everything it reviewed — not a tally of the findings in this report. Findings are the subset worth acting on, so a score can sit above or below what the listed findings alone would suggest.Each score is the AI's overall judgment of everything it reviewed in that category — not a
count of the problems listed in this report. The listed problems are the ones worth acting
on, so a score can sit above or below what they alone would suggest.Each score is the model's overall assessment across everything it reviewed — not a tally of this report's findings. A score can sit above or below what the findings alone suggest.
Verdict rationale — Why this verdict — Verdict rationale — This is a genuine, deliberately-engineered modular .NET e-commerce platform, not unreviewed AI output — architecture and code consistency are good and automated scanners found no vulnerable dependencies or secret matches. However, it is not safe to deploy as-is for a commercial workload: it builds on the end-of-life .NET 5.0 (and a 2.0 base image), the entire admin UI rests on unsupported AngularJS, payment-provider credentials are committed in seed data, the Braintree charge flow contains commented-out validation and lacks idempotency/transactional guarantees, the container build destroys migration history, and observability is thin with no visible tests around money paths. None of these are individually catastrophic, but collectively they require remediation. Conditions for production: upgrade to a supported runtime, externalize and rotate payment secrets, harden and test the payment/order flows, fix the migration strategy, add observability, and plan the AngularJS migration.