In my experience the most important benefit of capabilities is that it allows for a modular implementation of policies. As you mention:<p>&gt; Just try to imagine how, in a programming language, you would specify the allowed callers of your object.<p>Alternatively, you might have some hard-coded mechanism for extensibility (e.g. UNIX&#x27;s open() and FS permissions).   Try to imagine how, in a programming language, you would maintain some global table of callers and objects specifying who is allowed to call whom.