A Veil2 based relational security implementation
    has the following advantages over a more traditional security
    implementation:
  
by implementing data access controls in the database, your data can be protected even in the event of a breach of, or bugs in, your application or its server;
new functionality can be added to your application, without risk of impact to the underlying data security;
if you have multiple applications, the same restrictions can be applied universally, without having multiple implementations;
by building the security into the database relations themselves, access controls can be managed in a more natural way;
fine degrees of access control can be implemented without increasing the complexity of your application;
you will be able to implement a security model that is complete and about which you can reason;
most of the details of the access controls can be hidden from your application developers, potentially making their jobs easier
	with Veil2 much of the hard work of dealing
	with scopes, contexts, roles and privileges has already been
	developed for you;
      
	with Veil2 you have complete control of
	your security implementation: you can customize and extend it
	in any way you see fit.
      
    Note that even though you no longer have to
    implement access controls in your applications, your application
    should be written to avoid any access that the database would
    prevent.  This is simply good practice.  You should not allow
    Veil2's presence to make your developers lazy.