Marc Roland wrote at 2003-1-28 09:51 +0100:
on the filesystem we see files ending with .py and with .pyc - You can look at tools that combine Python modules and packages into a big binary. "Freeze", "MacMillan Installer" and something from eGenix are examples.
When you look at the source of these tools, you can even encrypt the content (of course, the binary contains the decryption key; thus an expert will be able to get at the content...).
what's happening inside the ZODB? It stores objects as pickles. Customizing the storage, you can again use encryption.
Of course, again, the binary contains the decryption key....
... How to shut the backdoor inside the ZODB? Can we somehow remove the ZMI (the sources or better all the functionality of the Zope Management Interface)? The management functions are protected by permissions.
You can set up a permission mapping such that only the "Emergency User" would be able to use them. Changing the Zope Code, you can prevent the definition of an "Emergency User". But beware, this may hit you, too. It would be probably better to change the way, the emergency user is defined. I would not go this difficult route but bind the customer by an appropriate agreement (such that he does not sell your work) and by excellent support (such that he lets you do extensions than rather do it himself or a different constractor). Dieter