AI Coding Assistant for Java Software Development
Employment & Work
What it collects
- Java source code snippets from CRA internal systems are provided as input to the coding assistant at runtime. These are system-level code fragments, not personal data.
- Run by
- Canada Revenue Agency (CRA)
- Where
- No fixed location
- Kept
- Not stated by the Helpful Places.
- Shared with
- Accountable organization
- Your copy
- You cannot see the data it holds about you. What you can do
What it is for
This tool uses generative AI to help Canada Revenue Agency software developers write and review Java code. It can detect anomalies in code, analyze text, and automatically generate code suggestions to reduce errors and improve consistency. It is intended for use by Government of Canada employees only and does not involve any personal information.
What it collects and what happens to it
Data taken in
- Java source code snippets from CRA internal systems are provided as input to the coding assistant at runtime. These are system-level code fragments, not personal data.
Processing
- The system is built on open-source large language model technology, specialized or fine-tuned for Java code generation, text analysis, and anomaly detection within a software development context.
- Anomaly detection is applied to code snippets to identify unusual patterns, potential bugs, or deviations from consistent coding practices before developers commit changes.
What it does
- The system generates Java code suggestions and completions in response to developer prompts. Developers review and decide which suggestions to accept, modify, or reject.
- The system performs text and speech analysis to understand developer queries and code context, matching intent to appropriate code patterns or documentation.
- The system performs anomaly detection on code snippets, flagging unusual patterns, potential errors, or deviations from coding standards for developer review.
Outputs
- The system outputs AI-generated Java code suggestions, completions, and corrections. These are presented to developers as advisory recommendations, not applied automatically.
- The system produces anomaly flags and code quality recommendations, surfacing potential issues for developer review and decision. No automated action is taken without human approval.
Run by
- The Canada Revenue Agency (CRA) is the federal department responsible for administering tax laws and benefit programs in Canada. CRA is deploying this generative AI coding assistant to support its software development employees.
Built by
Not stated by the Helpful Places.
Kept for
Not stated by the Helpful Places.
Shared with
- This system is for internal GC employee use only and does not process personal information about members of the public. Members of the public have no access to outputs from this system.
- Code suggestions and outputs are available to CRA software development employees within the scope of their work. Access is limited to authorized GC employees.
Stored
Not stated by the Helpful Places.
How to read the colours
Can it identify you?
- Anonymized data
- Data about people with the link to who is broken. Stripped of identifiers, blurred, aggregated, or noised so this system can’t reasonably tie a record back to an individual.
- Pseudonymous data
- Each person’s data is tied to a token (hash, ID, template) that lets this system recognise the same person across events, but the token itself doesn’t reveal a name. Reidentification is possible with extra information.
- Identifiable data
- The data either contains a direct identifier (name, address, account name, recognisable face or voice, plate number) or carries a token this system uses to look up legal identity during processing.
Who completes the loop?
- Human decides
- This mode suggests; a person decides what to do next. The AI is always advisory — a human is in the loop on every decision. Example: a triage tool ranks cases for a clinician who chooses which to see first.
- Human executes
- This mode decides; a person carries out the result. Example: an optimizer plans the day’s trash-collection routes, and drivers run them.
- Autonomous
- This mode decides and acts on its own. No person reviews each decision or carries out the resulting action.
Definitions from the DTPR standard. Amber is about your data, violet about who decides. The fuller the shape and the deeper the colour, the more identifying the data or the less a person is involved.
- AI registerGovernment of Canada Algorithmic Impact Assessment Register — Java Coding Assistant Tool (2526-CRA-ARC-011)Canada Revenue Agency, AI Register entry 2526-CRA-ARC-011.
- AI registerGovernment of Canada AI Register — 2526-CRA-ARC-011
- Register entryPublished by the Helpful Places. Reference 74baa487. This disclosure was drafted with AI assistance.Schema: ai@2026-05-06-beta
What you can do
Ask about this system
Questions go to the Helpful Places, not the vendor.
Your rights
- Right to Be Informed of AI UseAI use is disclosed to users of this system. GC employees using this tool are informed that they are interacting with an AI-powered coding assistant.
- Right to Algorithmic TransparencyThis system has been publicly disclosed in the Government of Canada's AI and Algorithmic Impact Assessment register (entry 2526-CRA-ARC-011), which describes the system's capabilities, data sources, and status.
Risks and safeguards
- Reputational harmAI-generated code suggestions could introduce subtle errors or vulnerabilities that reflect poorly on CRA systems if not properly reviewed.Safeguard: the system operates in a human-decides autonomy mode — all suggestions require developer review and approval before being adopted. The tool is positioned as advisory, not authoritative.
- Societal & cultural harmOpen-source AI models used for code generation may reflect biases from training data, potentially enforcing non-inclusive or insecure coding patterns at scale across government systems.Safeguard: the system is currently in development status, with a more fit-for-purpose integrated tool being evaluated in parallel. Human developer review is required for all outputs.