Executive Summary

[This document needs to be updated.]

Grail is an extensible WWW browser implemented in Python, an interpreted object-oriented programming language. Grail can be extended on a permanent basis with components downloaded from a trusted site, or experimentally with components that are not necessarily trusted. Untrusted components execute in a restricted execution environment which limits their ability to damage or spy upon their host environment, without slowing them down or limiting their functionality significantly.

Permanent extensions can add functionality to the browser such as

Extensions can also exist only while a particular page is being viewed, e.g. animated images, custom input elements or page-specific menus. Such custom page elements are called applets.

Extensions are downloaded in source form. In the future, downloading of extensions in more easily digestible byte-code form will be considered. Pure binary extensions may also be considered, but should only be downloaded from trusted sites.

The current release is a beta test version which supports applets but not the other forms of extensibility listed above. It has limited security features.