# Conduct Policy

The Gerrit Community reserves the right to refuse admittance to, or remove any
person from the summit premises at any time in its sole discretion.
This includes but is not limited to attendees behaving in a disorderly manner or
failing to abide by the Volvo Cars
[Code of Conduct](https://www.volvogroup.com/content/dam/volvo-group/markets/master/about-us/company-values/code-of-conduct-other-policies/vg-code-of-conduct-en.pdf)
and [Code of Conduct for Business Partners](https://www.volvocars.com/images/v/-/media/market-assets/intl/applications/dotcom/pdf/ethical-business/Volvo_Cars_Code_of_Conduct_for_Business_Partners_EN_2021.pdf).