I understand the desire for this feature, but I don't see any way to do it or even a reasonable way without adding a significant burden.
As a parallel - what is typically distributed - the .prt/.asm file, is a software source file, just like a Java program, except it is interpreted by the Creo software development interface.
There are a very few cases where the source code to a program (or a model) is distributed but cannot be accessed by the recipient. In Excel, Microsoft added a security layer both to the base model (sheets) and extended processing (macros) that prevent most people from seeing what happens, but that's not typical.
PTC did have a rights management module that gave access control at the model level, but they have since dropped it. I presume that, unlike spreadsheets, there are very few people who care about that level of security. I suppose it boils down to this - if you don't trust a customer with your data or they don't trust their supplier with their requirements then things like protecting a relation in a CAD model is the least of the problems.
Perhaps someone will create a Toolkit application that hides the information in a private repository and copies it in only long enough to execute and then deletes it until the application gets called again.
Could you please explain in a bit detail?
If we delete relation from model after successful execution of toolkit application run, model may loose data due to relation break. Isn't it?
The relation would be stored in a hidden container that is part of the model. The relations would be loaded and run, updating the related dimension values, and then the relations would be deleted. As far as the user is concerned the values change by themselves; since the relations are stored in a hidden section within the model, the Toolkit application can be written to work with every such model.
If I were to write such an application I would communicate the need to move the relations by using a special comment after I was sure the relations worked. That way no Toolkit developer involvement would be required for managing the individual model relations. I would also include a check to make sure the users haven't created their own conflicting relations. If you inform the user as to how this system works then the chance for conflict will be smaller.
A separate utility would be created to move the relations out of the hidden container during development. This utility would not be distributed with the model.
A third party would get the model and the Toolkit app that only copies, regenerates, and then deletes the relations; they would not get the application to remove relations from the hidden container.
It would be up to the developer to select a method of encrypting the hidden container so that the relations aren't visible with a text editor. This may be the default Creo file storage behavior.
you could possibly also "hide" IP - valued relation in some unrelated feature, or in "post regeneration" section of relations dialogue. Very few users would really look in such places, though there is no full guarantee. Just if you go this way check if no extra regeneration is not required now.