Skip to content
← All articles
Security3 min read

Local vs cloud code review: ask where the code goes

Evaluate code-review privacy through data flow, permissions, retention, and the difference between local checks and hosted AI.

By AntiCode Editorial·

Map the workflow before choosing a label

Local and cloud describe where some work happens. Neither word explains the entire privacy model. A local application may contact external services for selected features. A hosted application may process a narrow diff rather than clone every file. To evaluate a review workflow, ask what information moves, where it moves, and what happens to it afterward.

Draw a simple sequence for your intended use: repository, review service, model provider, saved findings, and exported report. For each step, identify the data involved and the people who can access it. Code, file paths, repository names, and findings may have different sensitivity even when they belong to the same pull request.

Distinguish AntiCode's review methods

AntiCode's native local checks are deterministic checks. They should not be described as a complete local AI reviewer. The hosted workspace offers manual managed AI review: it retrieves the selected GitHub pull-request diff and sends that diff to OpenAI through AntiCode's service. The hosted workflow therefore involves external processing of code.

Hosted built-in checks and hosted AI review also should not be confused with running a check on your own machine. A method can be deterministic and still execute on a server. Decide which boundary matters for your repository: whether a model processes the code, whether code leaves the device, or which service receives it.

Separate access, storage, and training

Repository permissions answer what a connection can access. Storage policies answer what records remain after a request. Model-training policies answer a different question again. A reassuring statement about one of these does not settle the other two. Ask for each answer explicitly and evaluate the configuration actually used by your service.

OpenAI states that API data is not used to train its models unless the customer opts in. Its documentation separately describes retention for abuse monitoring and endpoint-specific application state. Do not translate the training policy into a promise that no data is retained. Check the current data-controls documentation and the service's own privacy information.

  • Access: which repositories and operations does the authorization permit?
  • Transmission: what code or metadata is sent to each provider?
  • Retention: which results, logs, or other records remain?
  • Control: how do you disconnect access and request information about stored data?

Know what a preference actually changes

AntiCode encrypts saved GitHub connection tokens and does not expose those tokens through dashboard responses. That protects one part of the workflow; it does not remove the need to evaluate the OAuth permission or the hosted processing path. The current private-repository connection requests GitHub's broad repo scope, even though AntiCode uses it for read operations.

Personal ignored paths and severity settings control which findings you see. They are not a promise that matching code is removed from the diff before hosted AI processing. If a file must not be sent to an external service, do not rely on a display filter. Choose a workflow that actually satisfies that restriction.

Choose a boundary the team can maintain

Start with an explicit policy for which repositories may use hosted analysis. Consider secrets in source, customer data embedded in fixtures, internal infrastructure names, and generated files. Remove accidental sensitive material before requesting a review. Use synthetic examples when asking for help with a problem that does not require the real values.

Revisit the decision when you add a new provider, repository, or feature. Disconnecting repository access and deleting previously stored records are distinct operations; verify the applicable policy rather than assuming one performs the other. A useful privacy decision is specific enough that a developer can follow it during an ordinary review without guessing.

Further reading

Put it into practice

Start with a small change you are authorized to review. Follow the AntiCode setup guide, inspect each finding, and keep your tests and human approval in the loop.

Keep reading.

All field notes ↗