Underwriter uses SQLite to store tag information. The database structure is based off of the ["Toxi"][1] schema. [1]: http://howto.philippkeller.com/2005/04/24/Tags-Database-schemas/ The three tables used are * `cards`, containing the name and creation date * `tags`, containing an ID of the tag and the name * `tagmap`, where each row matches a card with a tag The `tagmap` is many-to-many. For instance, if `X` is a member of `cards`, and `Y`, `Z` are members of tags, then `(X,Y)` and `(X,Z)` can be members of `tagmap`.