To permit multiple processes to access and modify a single database instance, and to reduce the overhead per process of connecting to a Gadfly database a Gadfly database may be run in server mode. See the doc string for gfserve.py for more information on the command line arguments. Furthermore, by using the security features a Gadfly server could be configured to allow restricted data distribution across a network without compromising the integrity of the database. The primary goal of Gadfly server security is to prevent accidental or malicious destruction of a database.
Security is arbitrated by policies.
Policies have passwords that are never transmitted in clear text. It is not a good idea to run admin or other unrestricted commands on a network that may have hostile parties sniffing the network. As with the rest of the system I provide no guarantees, but for many purposes the level of security provided may be acceptible. This ability can be disabled in a startup function if needed. By using such policies a DBA can configure a server such that client programs can only read certain tables, can only update certain rows of certain tables in certain ways, and so forth.