Self-hosted
Your team operates the services, credentials, model route and updates. Start by reviewing the source and installation requirements.
Review source accessNull Review prepares AI findings for self-managed GitLab changes, with saved context and controlled actions. Your team checks the reasoning and decides what happens next.
Evaluation source by request. Public release preparation is still in progress.
Synthetic walkthrough. No model call, CI or merge.
1 def get_payment(cursor, user_input):2 sql = "SELECT * FROM payments WHERE id = "3− cursor.execute(sql + user_input)4 return cursor.fetchone()1 def get_payment(cursor, user_input):2 sql = "SELECT * FROM payments WHERE id = "3+ cursor.execute(sql + "%s", [user_input])4 return cursor.fetchone()Illustrative finding payments/query.py:3 · SHA A
A user-controlled value becomes SQL syntax. Input may change the query predicate and expose unintended rows. Pass the value separately as a bound parameter.
A user-controlled value becomes SQL syntax.
Check the input boundary, apply parameter binding and commit the fix.
SHA B needs a fresh review. Its model result and CI are not run here. Approval and merge remain separate team actions.
The %s placeholder assumes a compatible Python driver. Use your driver’s binding syntax. A and B are illustrative labels, not commit hashes.
Null keeps the review tied to the code revision and rules used for it. A changed revision needs a new check before acting on the result.
Select the revision, permitted code and rules. Save the review context as a ContextPack.
The configured review model prepares draft findings from that context.
A reviewer checks the code, reasoning and practical consequence.
Review the new revision. Read CI results separately. The team decides whether to merge.
Start with the code question. Then inspect the context, access and actions behind the answer.
Null services and their PostgreSQL data run in your environment. An external review model receives the selected ContextPack. If external embeddings are configured, that endpoint receives indexed code fragments.
Null Review
Services + PostgreSQLSelected review context
If external embeddings are configured
Review model
Embedding model
The checks below have different scopes. They do not establish pilot readiness or model accuracy.
Null focuses on the workflow around a finding: saved context, scoped data, controlled GitLab actions and decision history. Its current review engine is PR-Agent; Null is not an OCR add-on.
Review quality and integration effort need a matched evaluation. Null has no published superiority result.
Self-hosted and Enterprise use the same Null product. The difference is responsibility for deployment and support.
Your team operates the services, credentials, model route and updates. Start by reviewing the source and installation requirements.
Review source accessAgree the environment, roles, rollout and support scope together. A pilot needs explicit acceptance criteria.
Review the pilot pathA public self-hosted release is being prepared. Live model/CI acceptance and five concurrent reviews remain open.
Bring your target OS, GitLab edition, model route and technical owner. Agree what a useful finding looks like and how the team will evaluate it.
Read the requirements before sharing code or credentials.