# Concepts

# Orgs

An org (short for organization) can contain multiple projects. An org also has members who have a role inside the org. There are two roles: Owner and Contributor.

# Projects

A project belongs to an org. A project can have multiple client apps and public web tokens. A project can either be public or private.

# Client Apps

Client apps are credentials that can be used to publish data or to subscribe to topics. Client apps are created in the context of a project. A client app is given a list of topics patterns to which it has access to (publishing, subscribing or both). This is a form of access control lists (ACL). Client apps can be given access beyond the topic namespace of their project and org.

# Public Web Tokens

Public Web Tokens can be used for consuming MQTT messages from browsers. They are called public, because you can put them in your frontend code (Javascript, Typescript, HTML, etc). Public web token can only subscribe to data, they can never publish data.

# Shares

This is an upcoming concept that will allow you to share data from private projects with other orgs. You will be able to determine exactly which topics to share using topic patterns.