AI tools can be useful for supporting software development, documentation, testing, code review, and understanding existing code. Their use does not, however, replace the responsibilities of the contributor submitting work to a DataSHIELD project.
The use of AI tools is therefore permitted, with the following recommendations:
Human responsibility: Contributors remain responsible for everything they submit, regardless of whether AI tools were involved in producing the code, documentation, tests, issue, or pull request. Contributors are encouraged to review AI-generated material carefully and understand the changes sufficiently to explain, maintain, and defend them during review.
Verification: Contributors are encouraged to regorously check generated code for correctness, test it appropriately, and ensure that it follows the package's existing design and coding conventions.
Disclosure: Where AI has made a substantial contribution to code, documentation, tests, or other submitted material, contributors are encouraged to mention this in the pull request or other relevant development record. Routine uses such as code completion, spelling correction, or minor wording assistance generally do not require detailed disclosure.
Privacy and sensitive information: DataSHIELD frequently operates in environments involving sensitive or protected data. Real participant-level data, credentials, access tokens, confidential information, or other material that is not appropriate for public disclosure should not be submitted to external AI services.
Licensing and intellectual property: Contributors are encouraged to consider the terms of use of AI tools and the provenance of generated material. AI-assisted contributions must remain compatible with the licence and intellectual-property requirements of the DataSHIELD repository to which they are submitted.
Tests and disclosure controls: AI tools should not be used to bypass tests, disclosure controls, security checks, or other safeguards simply to make a contribution pass. Changes to these mechanisms should have a clear technical justification and receive appropriate human review.
Maintainability: Contributors are encouraged to avoid submitting large amounts of generated code that they cannot reasonably understand or maintain. AI assistance should support the development process rather than replace the technical understanding required to contribute effectively to the project.
The guiding principle is that AI may assist a contribution, but responsibility for that contribution remains with the human contributor.