It might seem difficult to adapt legacy applications to a capability world—so many implicit design assumptions are violated. Yet an editor written to wield authority over all of the user’s files will run nicely for a user who has just one file. A legacy editor can be provided with a capability to a virtual directory with just that one file. In Keykos (or EROS) the editor runs in an address space holding both the legacy editor code and perhaps also a runtime library of the same vintage. System calls are interpreted by the domain keeper and system calls directed to the file are interpreted using the file capability. System calls enquiring on the content of the imaginary directory reveal a nearly empty directory. Temporary files can be accommodated there.
Programs with legitimate access to an intranet or to the internet can be given such interpretive access.
This is a special case of the more general wrapping pattern. This pattern grows into an emulator for a legacy OS. The style is to produce one capability based object for each instance or “document” of the legacy system. Two editor documents that would by default be able to communicate when running in the legacy OS would be isolated in the capability system. They can be permitted to communicate.