No, questo non è possibile.
Affinché i tuoi utenti possano caricare contenuti, devi dare loro la tua chiave. Puoi provare a nascondere la chiave, ma alla fine il tuo cliente deve essere in grado di trovare la chiave e se il tuo software riesce a trovare la chiave, l'utente può farlo anche lui.
Puoi provare a nascondere e nascondere il codice che trova la chiave, ma ancora una volta: affinché il tuo client sia in grado di funzionare, la CPU deve capirlo. Le CPU sono molto, molto, molto, molto, molto più stupide degli umani, quindi se la CPU è in grado di capire il codice, può farlo anche un umano. Questa è la strada intrapresa da un sacco di costosi software commerciali, e tutti loro possono essere stati incrinati.
Puoi provare a mettere il codice in una scatola a tenuta ermetica, a prova di manomissione, cioè dare agli utenti degli elettrodomestici invece del solo software. Ma poi cambia il problema: invece di attaccare il tuo software, ora stanno attaccando il tuo hardware e, di nuovo, qualsiasi tecnica tu abbia usato per costruire il tuo hardware a prova di manomissione, di solito c'è un'altra tecnica per smontarlo di nuovo. Questa è la strada percorsa dalle console di gioco, dai telefoni cellulari e, alla fine estrema, dalle smartcard e tutte possono essere state violate.
In realtà, l'unica cosa che funziona in modo affidabile è non dare affatto il codice agli utenti. Implementa lo strumento di creazione come un servizio web ospitato nei tuoi locali in un ambiente che controlli.
L'altra alternativa è non trattare i tuoi utenti come criminali e fare a meno di tutte quelle restrizioni tecnologiche, e lavorare con i tuoi utenti sulla base del reciproco rispetto e della fiducia.