- An account is either a user or an organization.
- Every user and organization has a unique account name that distinguishes them from all other accounts in the system.
- A repository is owned by either a single user or a single organization, never by both at the same time.
- A user can follow many other users.
- A user can be followed by many other users.
- Every commit is authored by exactly one user towards one repository.
- Every pull request is submitted by exactly one user.
- A user can create many pull requests and commits for a specific repository.
- A user can be a member of many organizations.
- An organization can have many members.