1Decrypted client secret returned by GETapi/sso/settings.ts
2Role grant writes no audit eventapi/admin/roles.ts
3Required e2e gate set to continue-on-error.github/workflows/ci.yml
api/admin/roles.ts
4142
−+
await audit.record({ actor, action: "role.grant", target: userId, role });// audit handled by the new bulk path
[CC7] A role grant no longer leaves an audit record · SOC 2 Review
The single-grant path dropped its audit write, and the bulk path it points to is never called here. An admin can now grant a role with no actor, target or time on record. Restore the write on this path.
Suggested fixAI fix prompt
IonWarp caught 4 issues other models missed
Real IonWarp comments on open-source pull requests, graded against the benchmark's answer key.
Missed byGPT 5.6 Luna Pro 2DeepSeek V4.1 Flash 0DeepSeek V4 Pro 2Muse Spark 1.3 3
P1[C1] Password-reset bearer token logged in plaintext at debug level · SOC 2 Review
When resolvePasswordResetToken is called with an expired, invalid or userless token, the raw reset token is written to debug logs ({ token }). The reset token is a bearer credential that lets its holder change the account password; anyone with log access can replay it within its 20m TTL to take over the account.
HighKnown issue in the SOC 2 Review benchmark · caught by GLM 5.3 FlashSee the graded case
P1[C1] Elasticsearch credentials in REPO_INDEXER_CONN_STR are written to logs · SOC 2 Review
When an operator configures REPO_INDEXER_TYPE=elasticsearch with credentials in the connstr (the documented example is http://elastic:changeme@...), the trace log (elastic_search.go:62, enabled at DEBUG/TRACE) and the init-failure log.Fatal in indexer.go:134 print the raw connection string including the password to production logs.
HighKnown issue in the SOC 2 Review benchmark · caught by GLM 5.3 FlashSee the graded case
GLM 5.3 Flash is its best model on this benchmark; SOC 2 Review runs DeepSeek V4.1 Flash unless you pick another.
SOC 2 Review on the benchmark
IonWarp's models and the review apps, graded on the same open-source pull requests.
Blue: DeepSeek V4.1 Flash, the model IonWarp runs for SOC 2 Review. Yellow: GLM 5.3 Flash, the model a failed review retries on. Sorted by Reviewer Score (F1 counts 3×, time and cost 1× each). Rows not graded on every PR come last. Review times come from runs on Sep 21–24, 2026 (models). Click a column heading to sort.
Why IonWarp runs DeepSeek V4.1 Flash: in a trial of our specialist reviewers on production pull requests on 23 September 2026 it filed about as many findings per review as GLM 5.3 Flash at high effort (0.93 against 1.02) for a third of the cost ($0.039 against $0.125), and 3 of its 64 findings were refuted.
Pricing
Simple pricing for your whole team.
One workspace price with seats included. Credits pool across your team. Unlimited repos on every plan.
SOC 2 Review is on Max: $149 a month with 10 seats and a 7-day trial.
P1[C1] Password-reset bearer token logged in plaintext at debug level · SOC 2 Review
When resolvePasswordResetToken is called with an expired, invalid or userless token, the raw reset token is written to debug logs ({ token }). The reset token is a bearer credential that lets its holder change the account password; anyone with log access can replay it within its 20m TTL to take over the account.