hiding is not possible but you can password protect tasks or libraries.
This means anyone can use them but only the person with the password can change them
Lke @oliver.doberer mentioned, the modification of the encrypted file is only allowed with password
Only to add that the access to the file to read it, is also restricted with password, hence the third party will only know that library/program is there, but they won’t be able to neither read or modify it.
Another option is exporting your custom libraries in Binary form rather than Source Code form, which is documented in the Automation Studio Help. When someone imports your library into their project, they will not see the source code and there is no way to get the source code from the binary version of the library. Just make sure you document and maintain the library well so that you can make updates as needed in the future.
@wenbo.ruan why to include an encrypted file via password, where there is a way to block forever and ever the access to the source code including the binary files as @marcusbnr is pointing.
Live caption of Jose . LĂłpez @c584138 blocking the entrance to the source code:
If I remember correctly (tried it a couple years ago), then is it not required to enter a password when you build the project.
How can AS access the source to compile it if it is encrypted but no password is given to it?
But in general I think it’s possible if a symmetric encryption algorithm is used.
Then it would be possible for a program knowing the algorithm and the key to decrypt the password (of course it has to be stored somewhere in its encrypted version) and using it to decrypt the data, both “on the fly” (without storing / changing data).
This is what I actually mean and what my concerns are with this encryption.
If AS is able to decrypt it without a password provided by the user before the compile process, then the decryption key is stored somewhere in the AS project and I would not consider this as safe solution to protect your code.
I think it is better to export is as machine code as library if you want to “lock” part of the code. I’m agreed that the password lock in Automation Studio is not very secure and it seem like I’m not the only one discovered this too.
BTW, even it is in machine code. I guess you still can disassembled it.
You can also make your librabies and compile them as binary. So the project you share with people would have a binary compiled version of your library and your private project could have the non binary version.
I can recommend using version control like git for this and having branches for private and public versions.