Skip to content

    Using Developer Tenants with Basis Theory

    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. 

    Applications and tokens are hosted in dedicated PCI level 1 compliant tenants

    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.

    Example developer tenant implementation showing business unit, staging environments, and customer data

    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.

    Are you interested in trying Basis Theory? Getting started takes a few clicks and is entirely free. Have questions? Join our Slack community or reach out via our contact us form!

    Subscribe to the Blog

    Receive the latest updates straight to your inbox