SpiderOak is an access governance and secure data exchange platform for organizations to control their critical data and services. Access governance is a mechanism to define, enforce, and maintain the set of rules and procedures to secure your system’s behaviors. Data governance is a more narrowed approach for applying the same mechanism to specifically address access permissions of all data in the system.
SpiderOak ensures that your system’s process for managing access controls to data or services is aligned with your organization’s objectives and adheres to policy requirements. Defining the set of policies by specifying roles and permissions enables you to safeguard sensitive information, maintain compliance, mitigate the risk of unauthorized data exposure, and grant appropriate access. SpiderOak’s decentralized platform allows you to define and enforce these sets of policies to secure and access your resources.
The platform is delivered and integrated into your system as a library for policy-driven access controls and secure data exchange. The library is deployed on endpoints, integrating into applications which require granular access controls over their data and services. Endpoints can entrust SpiderOak with their data protection and access controls so that other applications running on the endpoint need only to focus on using the data for their intended functionality.
A key discriminating attribute of SpiderOak is the decentralized, zero trust architecture. Through the integration of the library, access governance is implemented without the need for a connection back to centralized IT infrastructure. With SpiderOak’s decentralized architecture, if two endpoints are connected to each other, but not back to the cloud or centralized infrastructure, governance over data and applications will be synchronized between peers and further operations will continue uninterrupted.
SpiderOak is a software library that is deployed on an endpoint to securely manage data and access controls. Each endpoint can be a piece of hardware (e.g. spacecraft payload, drone, cellular device, etc.) or software (e.g. application). An instance is a single deployment of the SpiderOak software on a given endpoint, and each endpoint can have one or many instances deployed on it.
An entity, which can also be referred to as a user, is used to identify an instance by assigning it a set of cryptographic keys used for identity and authentication, allowing it to govern the behavior of the endpoint. A policy is written to define these behaviors, accepted actions with corresponding commands, that will be generated.
SpiderOak provides the following capabilities in a single, low size, weight, and power (SWAP) software platform, key to your organization’s access governance:
The SpiderOak platform is hardware and software agnostic. Deployed as a library, the software makes no hardware or software assumptions. The software is serverless and asynchronous. The software is also link-agnostic, meaning it works with any transport protocol over trusted (single) or mixed (multiple) networks.
Designed for Embedded Device Support
Supported Platforms
SpiderOak provides additional utilities and APIs for ease of integration. These are all outlined below, though the API documentation for each can be found in separate documentation per request.
Several front-end Command-Line-Interface (CLI) utilities are provided to interact with the relevant APIs.
This API will load the configuration file and set up the environment using configured parameters. The configuration file provides information for all dependencies, to include encryption.
This API provides the initialization of:
Enables the functionality defined within the policy, allowing enforcement of identity management, roles and rules. This includes the APIs that relate to capabilities within the policy actions and commands.
Off-Graph Data Exchange API
Provides an off-graph, real-time message-passing API with end-to-end encryption.
On-Graph Data Exchange API
Provides an on-graph message-passing API for guaranteed data delivery with end-to-end encryption.
Transport API uses appropriate SpiderOak protocol to process communications between two endpoints. Endpoints must synchronize their state to allow peers to exchange commands and update the DAG, if on-graph data exchange API is called, with newly received commands. An entity must request their peer to sync by sending them a snapshot of their DAG, to which the peer responds with the set of commands that the entity is missing. If the peer suspects they are missing some commands which the peer entity has, they can issue a sync request in return.
If the off-graph data exchange API is called, then SpiderOak will use the appropriate encryption/decryption keys to send and receive data between endpoints, leveraging the network protocol configured.