Check out "auth.signature". It adds and manipulates these columns: is_active, created_on, created_by, modified_on, modified_by. I think is_active is to be used in place of deleting but I'm not sure. I believe it's based on the Table Inheritance capability: http://web2py.com/book/default/chapter/06#Table-Inheritance
db.define_table('mytable', Field('myfield'), auth.signature) There's also "auth_event" which I think is what CRUD uses for logging.