Безопасностью должен заниматься безопасник. Как правило, безопасником становится один из наиболее доверенных членов команды, потому что обычно проверочная пирамида на нем заканчивается ("я контролирую всех, меня не контролирует никто")
Управлением проектом должен заниматься менеджер проектов.
Доступ надо давать только к той части кода, к которой нужно. В крупных коммерческих проектах не использут опенсорсный git, не предназначенный для этого, используют VCS с возможностями раздавать доступ к части проекта.
Договор конечно заключить можно. Правда толку в нем будет немного, ну разве только возьметесь и реально подымете полный, соответствующий законодательству режим коммерческой тайны. Это возможно, но очень заморочисто. А так - это от честных людей.
Еще можно поставить СМП. Это опять же постфактовая защита - то есть от слива исходников она не спасет, но "сливака" запалит.