# Developer Documentation

TL;DR: Ready to start building? Skip to Getting Started.

# Welcome to Parcel

Parcel provides a set of privacy-first, data governance APIs designed to give your users better control over how their data is used without sacrificing functionality. Using the Parcel suite of tools will enable you to securely store sensitive data, define and enforce usage policies over data, and share tamper-proof logs of access history with your users.

Parcel also gives you access to Steward, an Oasis Labs web app that makes it easy for your users to manage their data and track usage. You can integrate Steward into your existing user flows, or build your own data management interface on top of Parcel SDK.

From invasive ad targeting to massive data breaches, users are more concerned than ever with keeping their data private and secure. Parcel allows users to manage their data, increasing their trust and decreasing your liability and risk.

# Key Concepts

Parcel makes it easy for you to build privacy-first experiences and handle sensitive data with less complexity by providing you with a rich, flexible set of primitives to use in your application:

  • Identity: an entity on the Oasis platform. You can think of these as Oasis "users". They may represent your end users, your application, or your collaborators.

  • Document: a file stored on the Oasis platform. Each document is owned by an identity. Documents are hosted encrypted in an Oasis-managed blob store, allowing you to store any kind of file with ease, including images, videos, audio, PDFs, genomes, and JSON documents.

  • Database: a simple database stored on the Oasis platform. Each database is owned by an identity. Databases support a set of basic operations including creations of tables with an accompanying schema and querying on table data. For a database that you own, you can grant access to other users.

  • Job: a program run in a confidential computing environment. Jobs are used to run analyses or transformations while maintaining privacy and confidentiality of the underlying data. Jobs can take documents as inputs and produce documents as outputs.

  • Grant: a policy that allows an identity to access certain asset(s) such as documents and databases. Grants allow users, including your application, to access or analyze assets that belong to other identities.

  • Permission: a bundle of related grants that an end user may allow or deny when using an application. Optionally, you can specify permissions for your application for turnkey management of user permissions.

# Core Components

We offer four main components to help you build out your integrations with Parcel:

  • Developer portal (opens new window): where you register your application, register your client credentials, configure user permissions, and monitor your integration.

  • Steward app (opens new window): where your end users create Oasis accounts, control access to their data, and view a history of how their data is used by applications like yours.

  • REST API: allows you to work directly with all of our data management primitives from any codebase.

  • TypeScript Client (opens new window): wraps our REST API and makes it easy to integrate with Parcel from TypeScript and JavaScript applications.

# Next Steps

Now that you have a sense of Parcel concepts and components, it's time to start building.

We have put together a set of tutorials that will walk you through the common steps of integrating with Parcel. These tutorials assume you are using our TypeScript client. You can also access references for all Parcel API endpoints and TypeScript client functionality.

Ready? Let's get started!