Using Developer Tenants with Basis Theory
This blog explores Basis Theory’s Tenants—the foundation for managing, organizing, and permissioning your sensitive data—and the different ways a Tenant is being used today.
A Tenant is the first thing you create after you sign up for Basis Theory, providing the foundation for managing your token infrastructure. Need a dedicated testing environment? Need to give customers access to their tokens or a custom reactor? Need to separate tokens based on business needs? Tenants provide the answer.
What is a Tenant?
Tenants provide a flexible, secure, and logical separation of your data. You can think of a Tenant like you would a database: each Tenant acts as the container that stores your data and provides separation from other data.
Basis Theory allows you to create as many Tenants as your business needs for free. Within each tenant, you’re able to create as many Tokens, Applications, Reactors, and other configurations enabling nearly unlimited ways to use them to separate your data.
Different Tenant implementation use cases
In this section, we break down the different approaches customers are using.
Pro-tip: If you are using Terraform to manage your infrastructure, contact us about our Terraform module for managing your Basis Theory Tenants and Applications!
Tenants as Staging Environments
It’s common for enterprises to have Software Development Life Cycles (SDLC) that require separate but identical systems for each stage of development. Many products in the market provide a sandbox environment to use with their production environment, but often that isn't enough for many teams. What if you need to separate your Quality Assurance (QA) data from your User Acceptance Testing (UAT) data? Some enterprises require separate environments for development, quality control, user acceptance, staging, production, and sometimes more!
Basis Theory makes it easy to separate your integration for each environment you have, simply create one Tenant for each environment.
Tenants Separated by Business Unit Data
Separating data between development, testing, and production isn't the only use for Tenants. You can use the same approach for separating business units.
For example, an accounting department may require its own storage area with data that should be inaccessible to other departments. Creating a separate “Organization Tenant” would solve this issue without needing to sign up twice and without the additional overhead of managing two unique Organizations at Basis Theory.
Segmenting Data by an Organization’s End User
For some organizations, it makes sense to separate their data by customer. This is especially valuable for companies that sell platform services to other businesses—whom, in turn—have their own End Users.
Imagine you work for Acme Auctions, which sells a complete out-of-the-box auction marketplace to homebuilders (Acme Auctions customers) looking to bid out jobs to subcontractors. Aside from the bidding functionality, Acme Auction offers its customers other components, like user administration, and pay-in / pay-out functionality for subcontractors. The homebuilders who purchase the auction marketplace will need to be able to work with their Tokens without having access to Tokens from other homebuilders.
There are several benefits to managing your Tokens this way. By separating the Tokens by customer Acme Auctions can safely give Application Keys to the homebuilders. Each Application can only access the data within its Tenant, eliminating the risk of exposing other data, while still giving each homebuilder the ability to leverage the full power of Basis Theory’s Reactors, Proxy, and more.