esse é o tipo de discussão que é sempre bom levantar quando se cria qualquer tipo de produto.
- quais são as tecnologias utilizadas?
- o que pode ser ou não público?
- via de regra tecnologias que são interpretadas normalmente são difíceis ou muito custosas para se ofuscar e proteger o código, pois sempre parte desse código vai ter que ser enviado de forma "desprotegida" pro cliente.
- onde e quem vai ter acesso ao código?
- meu código é o meu diferencial ou a forma que eu comercializo e estratégia que adoto para captação de cliente.
a recomendação é sempre proteger o cerne do seu negócio em linguagens que permitam essa proteção no código de forma nativa além de sempre conferir os acessos e boas práticas de segurança, mas licitamente ou ilícitamente proteger o código é muito complexo principalmente quando você é um líder técnico e tem pessoas que estão dentro da sua empresa ou colaboradores externos que vão precisar dar manutenção neste código, porque nada impede de ter uma pessoa de má índole, que vai pegar aquele código e usar de forma indevida.
por anos o meu sócio e eu discutimos sobre isso, trabalhando principalmente com linguagens web, houve uma época que a gente contratou os serviços de criptografia de código fonte quando fazer entregas no servidor do cliente mas hoje em dia a gente percebeu que o custo-benefício não se paga, além de que o grande diferencial do nosso produto e serviço é o nosso atendimento qualidade de entrega, relacionamento com o cliente entre outros aspectos que estão muito menos ligado a código do que o código em si.
quando falamos de produto, mantenha em infraestrutura própria e limite o acesso para pessoas espeficias, arquitetura de microsserviços pode fazer com que apenas pessoas autorizadas mexam em código muito sigiloso ao custo de complexidade de gestão.
no demais as outras respostas já contribuiram com aspectos mais técnicos, espero ter contribuído de alguma forma.