Table Structure |
| Table: EncryptionTypes |
| Column |
Column Type |
Comment |
| EncryptionTypeID |
tinyint(4) |
Primary Key |
| EncryptionType |
varchar(100) |
Text the user sees. |
| |
| Table: FlaggedReasons |
| Column |
Column Type |
Comment |
| FlaggedReasonID |
int(11) |
Power of 2 |
| FlaggedReason |
varchar(100) |
The reason the item was flagged. |
| |
| Table: FTPTypes |
| Column |
Column Type |
Comment |
| FTPTypeID |
int(11) |
|
| FTPType |
varchar(100) |
|
| |
| Table: GroupMemberships |
| Column |
Column Type |
Comment |
| GroupMembershipID |
bigint(20) |
PK auto_increment |
| GroupID |
bigint(20) |
|
| UserID |
bigint(20) |
|
| KnownAsID |
bigint(20) |
What the person is known as. |
| GroupPasswordEncrypted |
varchar(100) |
Group password encrypted with user's key. |
| Rights |
varchar(50) |
What rights this user has for this group. |
| |
| Table: GroupNotebookBranches |
| Column |
Column Type |
Comment |
| GroupNotebookBranchID |
bigint(20) |
PK auto_increment |
| GroupID |
bigint(20) |
|
| ParentGroupNotebookBranchID |
bigint(20) |
parent of this branch or 0 if the root. |
| NotebookID |
bigint(20) |
|
| NotebookPasswordEncrypted |
varchar(100) |
Notebook password encrypted with group password |
| NotebookRights |
varchar(50) |
hex sum of rights this group has for notebook. |
| |
| Table: Groups |
| Column |
Column Type |
Comment |
| GroupID |
bigint(20) |
PK auto_increment |
| Group |
varchar(100) |
|
| IsPublic |
bit(1) |
0 - private. 1 - public. Private groups have name encrypted by group password. |
| CreatedDate |
datetime |
|
| Flagged |
int(11) |
|
| GroupPasswordHashed |
varchar(100) |
The group password hashed sha256. This is used to prove you know the group password. |
| PasswordHint |
varchar(512) |
A hint to help someone guess the password. |
| NumberOfPeople |
int(11) |
Number of people in this group. |
| GroupUniqueID |
bigint(20) |
Used by outsiders to refer to this group. Prevents hackers from guessing GroupIDs. |
| |
| Table: KnownAs |
| Column |
Column Type |
Comment |
| KnownAsID |
bigint(20) |
PK auto_increment |
| UserID |
bigint(20) |
Foreign key to users.UserID or UserKeys.UserID. |
| KnownAs |
varchar(50) |
What the user is know as. |
| |
| Table: NotebookBranches |
| Column |
Column Type |
Comment |
| NotebookBranchID |
bigint(20) |
PK auto_increment |
| NotebookID |
bigint(20) |
Foreign key to Notebooks.NotebookID.
1 to 1 relationship for a specific UserID. 1 to many if the notebook is shared. |
| UserID |
bigint(20) |
Foreign key to users.UserID or UserKeys.UserID. |
| NotebookRights |
varchar(50) |
hex sum of rights this user has for notebook. |
| NotebookPasswordEncrypted |
varchar(100) |
NotebookPassword encrypted with UserKey.
The NotebookPassword is not stored in the database.
The UserKey is not stored in the database.
Get the UserKey by decrypting UserKeys.UserKeyEncrypted with the user's password.
The user's password is not stored in the database and never sent to the server. |
| ParentNotebookBranchID |
bigint(20) |
Parent tree item. 0 if root. |
| |
| Table: Notebooks |
| Column |
Column Type |
Comment |
| NotebookID |
bigint(20) |
PK auto increment. |
| NotebookNameEncrypted |
varchar(512) |
Encrypted with NotebookPassword. The NotebookPassword is not stored in the database.
Get the NotebookPassword by decrypting it from NotebookBranches.NotebookPasswordEncrypted. |
| NumberOfBranches |
int(11) |
Number of branches that see this notebook. Number of entries for this NotebookID in table NotebookBranches. |
| NumberOfGroups |
int(11) |
Number of groups that see this notebook. The number of entries of this NotebookID in table GroupNotebookBranches. |
| NumberOfNotebookShareRequests |
int(11) |
Number of notebook share requests for this notebook. |
| EncryptionTypeID |
tinyint(4) |
What encryption algorhythm is used. |
| NumberOfFiles |
int(11) |
The number of files this notebook has. This number could be wrong because of cascade deletes. |
| ShareChildren |
tinyint(4) |
If =1 then if you can see this notebook, you can see its children. If =2 then share grandchildren. Uses NotebookChildren table. |
| |
| Table: NotebookTexts |
| Column |
Column Type |
Comment |
| NotebookTextID |
bigint(20) |
PK auto_increment |
| NotebookID |
bigint(20) |
Foreign key to Notebooks.NotebookID. 1 to many relationship. |
| NotebookTextEncrypted |
mediumtext |
Encrypted with NotebookPassword. The NotebookPassword is not stored in the database.
Get the NotebookPassword by decrypting it from NotebookBranches.NotebookPasswordEncrypted. |
| SortOrder |
int(11) |
Sort order within a notebook. |
| Flagged |
int(11) |
Has this text been flagged for inappropriate content? |
| ParentNotebookTextID |
bigint(20) |
This allows the notebook text to be in a tree. 0 if root. 1 to many relationship. |
| ReadWritePassword |
varchar(16) |
The password to read from or write to this block. |
| |
| Table: NotebookWarehouseFTP |
| Column |
Column Type |
Comment |
| NotebookWarehouseFTPID |
bigint(20) |
|
| NotebookID |
bigint(20) |
|
| WarehouseID |
bigint(20) |
|
| WarehouseFTPID |
bigint(20) |
|
| WarehouseFTPKeyEncrypted |
varchar(100) |
WarehouseFTPKey encrypted with the NotebookPassword. |
| |
| Table: NotebookWarehouses |
| Column |
Column Type |
Comment |
| NotebookWarehouseID |
bigint(20) |
|
| NotebookID |
bigint(20) |
|
| WarehouseID |
bigint(20) |
|
| WarehouseKeyEncrypted |
varchar(100) |
WarehouseKey encrypted with the NotebookPassword. |
| |
| Table: Rights |
| Column |
Column Type |
Comment |
| RightsID |
varchar(50) |
Hex rights key. Power of 2. |
| RightSectionID |
tinyint(4) |
which section this right is for. |
| RightsDetailsID |
tinyint(4) |
which RightsDetails this right is for. |
| |
| Table: RightsDetails |
| Column |
Column Type |
Comment |
| RightsDetailID |
tinyint(4) |
PK not auto_increment, but it should be. |
| RightsDetail |
varchar(50) |
description of right such as list, edit, delete. |
| |
| Table: RightsSections |
| Column |
Column Type |
Comment |
| RightsSectionID |
tinyint(4) |
PK not auto_increment, but it should be. |
| RightsSection |
varchar(50) |
name of section such as Warehouse or Notebook. |
| |
| Table: UserKeys |
| Column |
Column Type |
Comment |
| UserID |
bigint(20) |
PK a random number. |
| UserKeyEncrypted |
varchar(100) |
UserKey (a sequence of random letters) encrypted with user's password.
The UserKey is not stored in the database.
Get the UserKey by decrypting UserKeyEncrypted with the user's password. |
| Flagged |
int(11) |
Bit mask. Can be multiple reasons. |
| HasEmail |
bit(1) |
Does this user have any email? If you sent a user email, set this bit to 1. |
| RandomNumber |
varchar(50) |
A secret random number. Used when changing the user's password or deleting the account. |
| RandomNumberEncrypted |
varchar(100) |
RandomNumber encrypted with the user's password. |
| |
| Table: UserMessages |
| Column |
Column Type |
Comment |
| UserMessageID |
bigint(20) |
|
| UserID |
bigint(20) |
|
| UserMessageTypeID |
tinyint(4) |
|
| Value |
bigint(20) |
|
| DateAdded |
datetime |
The date the record was added. |
| |
| Table: UserMessageTypes |
| Column |
Column Type |
Comment |
| UserMessageTypeID |
tinyint(4) |
|
| Description |
varchar(200) |
|
| |
| Table: UserPublicKeys |
| Column |
Column Type |
Comment |
| UserID |
bigint(20) |
|
| PublicKeyN |
varchar(4000) |
|
| PublicKeyE |
int(11) |
|
| PrivateKeyDEncrypted |
varchar(4000) |
Private key encrypted with user's UserKey |
| DateSavedEncrypted |
varchar(100) |
The date saved encrypted with your UserKey. This is to prove that the info is correct. |
| DateSaved |
datetime |
The date this record was saved. It should match somewhat the DateSavedEncrypted, but not exactly. |
| |
| Table: users |
| Column |
Column Type |
Comment |
| UserID |
bigint(20) |
PK a random number. |
| UserName |
varchar(50) |
The UserName used to log in with. |
| PasswordHashedTwice |
varchar(100) |
The password doesn't go to the server.
The sha256 of (UserName+':'+Password) goes to the server.
PasswordHashedTwice uses 10 bits of pepper.
The pepper is not stored. The server brute forces the pepper when checking the logon. |
| Websites |
varchar(50) |
Hex power of 2 list of which websites this user can log into. |
| |
| Table: WarehouseFTP |
| Column |
Column Type |
Comment |
| WarehouseFTPID |
bigint(20) |
|
| WarehouseID |
bigint(20) |
|
| FTPUserNameEncrypted |
varchar(100) |
User name encrypted with the WarehouseFTPKey |
| FTPPasswordEncrypted |
varchar(100) |
Password encrypted with the WarehouseFTPKey |
| TotalFileSpace |
bigint(20) |
Total file space this user has. |
| UsedFileSpace |
bigint(20) |
Amount of used space this user has used. |
| ReadOnly |
tinyint(4) |
Is this username/password read only? |
| SpaceIndex |
int(11) |
If two users have the same space index, they can see each other's files. Default is 0. |
| CreatedByUserID |
bigint(20) |
The user that created this FTP. They can change or delete it. |
| FTPTypeID |
int(10) |
What type of FTP is it? |
| |
| Table: Warehouses |
| Column |
Column Type |
Comment |
| WarehouseID |
bigint(20) |
PK auto_increment |
| WarehouseNameEncrypted |
varchar(100) |
Warehouse name encrypted with WarehouseKey. |
| IPEncrypted |
varchar(100) |
IP Encrypted with WarehouseKey. |
| PortEncrypted |
varchar(100) |
Port Encrypted with WarehouseKey. |
| OnionEncrypted |
varchar(1000) |
The Onion route encrypted with the WarehouseKey. |
| MaximumFileSize |
bigint(20) |
The maximum size of a file that can be uploaded. |
| TotalFileSpace |
bigint(20) |
The total amount of file space. |
| UsedFileSpace |
bigint(20) |
The amount of used file space. |
| |
| Table: WarehouseUserFTP |
| Column |
Column Type |
Comment |
| WarehouseUserFTPID |
bigint(20) |
|
| WarehouseUserID |
bigint(20) |
|
| WarehouseFTPID |
bigint(20) |
|
| WarehouseFTPKeyEncrypted |
varchar(100) |
WarehouseFTPKey encrypted with the user's key. |
| |
| Table: WarehouseUsers |
| Column |
Column Type |
Comment |
| WarehouseUserID |
bigint(20) |
PK auto_increment. |
| WarehouseID |
bigint(20) |
|
| UserID |
bigint(20) |
|
| RightsID |
varchar(50) |
Hex Rights (Rights table) this user has to this warehouse. |
| WarehouseKeyEncrypted |
varchar(100) |
WarehouseKey encrypted with the user's key. |
| |
| Table: websites |
| Column |
Column Type |
Comment |
| WebsiteID |
varchar(50) |
PK Hex power of 2 |
| Website |
varchar(100) |
Description of the website. |