Privicore
  1. Data Token
Privicore
  • Privicore API
  • Utility
    • Utility
    • Check server health
      GET
    • Request command id status
      GET
  • Profile
    • Profile Model and Authentication Workflow
    • Register new profile
      POST
    • Authenticate
      POST
    • Retrieve profile id
      GET
    • Change password
      POST
    • Generate qr token for authorization
      POST
    • Reauthorize authorization token
      POST
    • Revoke authorization token
      POST
    • Retrieve token expiry
      POST
  • OAuth Application
    • OAuth Application Management
    • Register OAuth Application
      POST
    • Retrieve OAuth app configuration
      POST
    • Request OAuth app authorization code
      GET
    • Retrieve OAuth app authorization code
      POST
    • Obtain OAuth app access token
      POST
    • OAuth application list
      GET
    • Retrieve OAuth application scope
      GET
    • Refresh OAuth app access token
      POST
  • Public key
    • Public and Private Key Management
    • Generate your private and public keys
    • Register public key
    • Retrieve public key
    • Retrieve CAB public key
  • Data Token
    • Data Token Management
    • Reserve token space
      POST
    • Retrieve temporary data token
      GET
    • Exchange data for token
      POST
    • Upstream file via stream auth
      POST
    • Request data via token
      POST
    • Download data
      GET
    • Configure information security risk meta
      POST
    • Configure file meta
      POST
    • List data tokens
      GET
    • Update data token
      POST
    • Delete data
      POST
    • Get data token transaction count statistics.
      GET
  • Device
    • Request unique identifier (i.e. Register new device)
    • Retrieve unique identifier
    • Retrieve profile devices
    • Configure device meta
    • Approve device
    • Reject device
    • Retrieve device configuration
    • Remove device
  • Storage
    • Register storage device
    • List storage devices
    • Synchronize device
    • Remove storage
  • Verified authenticator
    • Register authenticator
    • List verified authenticators
    • Retrieve voting strategy
    • Set quorum size
    • Set quorum strategy
    • Set voting time limit
    • Set maximum voting attempts
    • Remove authenticator
    • Register voting configuration
    • Update voting configuration
    • List voting configurations
    • Retrieve voting configuration
  • Policy
    • List policy templates
    • Register policy
    • List active policies
    • List inactive policies
    • Activate policy
    • Deactivate policy
    • Delete policy
    • List registered policies
    • Retrieve registered policy
  • Directory
    • Register Directory
    • Retrieve owned Directories
    • Retrieve assigned directories
    • Retrieve Directory
    • Create Directory User
    • Update user information
    • Invite Profile
    • Set profile password
    • List Directory Invites
    • Process Invitation
    • Retrieve directory profile
    • List directory users
    • Directory profiles info
    • Create profile device
    • Add storage device to profile
    • List directory devices
    • Create directory voting pool
    • Store directory meta information
  • Voting
    • Create voting
    • Check pool status
  • Schemas
    • Response
      • CommandAccepted
      • Unauthorized
      • ValidationErrors
    • Schemas
    • profileId
    • deviceIdentifier
    • directoryId
    • directoryName
    • directoryShortName
    • givenName
    • familyName
    • createdAt
    • meta
  1. Data Token

Data Token Management

Introduction#

Data Tokens provide a mechanism for exchanging data for cryptographically secure tokens, enhancing security by separating data storage from application systems. If a breach occurs in the application layer, only meaningless tokens are exposed - the actual data remains secure in external storage devices.

Architecture Overview#

The Data Token system involves three distinct actors:

1. Application (Profile)#

The application that needs to store sensitive data securely. Instead of storing data directly in its database, the application:
Exchanges data for tokens with Privicore
Stores only tokens in its system
Uses tokens to retrieve data when needed
Security Benefit: If the application database is breached, attackers only obtain tokens - opaque identifiers with no embedded information or meaning.

2. Privicore (Central System)#

The central coordination system that manages token lifecycle and routes encrypted data to storage devices. Privicore:
Issues temporary tokens upon request
Coordinates data exchange and device routing
Tracks which devices belong to which profiles
Routes encrypted data to appropriate storage devices
Profile Requirement: Every actor communicating with Privicore must have a profile, including applications, users, and devices. Each profile has its own public/private key pair for encryption and authentication.

3. Device/Storage (Profile)#

External software registered on behalf of a user that physically stores the encrypted data. Devices:
Run outside the Privicore environment (desktop, mobile, server, etc.)
Are registered as profiles in Privicore
Receive and store encrypted data from Privicore
Provide data back to Privicore upon request

Data Flow Architecture#

User → Application → Privicore → Device/Storage
Each actor in this chain is a profile with its own public/private key pair. Data is encrypted by each actor in the chain, producing multi-layer encryption.

Token Lifecycle#

Step 1: Reserve Token#

The application requests a temporary data token from Privicore:
Privicore generates a unique, temporary token identifier
Token has a time-to-live (TTL) - if not used within the timeframe, it expires and is removed
Token is returned to the application

Step 2: Exchange Data for Token#

The application uploads data and exchanges it for the reserved token:
Application encrypts data with its private key
Encrypted data is sent to Privicore with the token identifier
Privicore encrypts the data again with its own key
Token becomes permanent once data is successfully exchanged

Step 3: Route to Device#

Privicore determines which devices belong to the user and routes the data:
Privicore identifies all registered devices for the user's profile
Data is encrypted again with each device's public key
Encrypted data is transmitted to device(s)
Device stores the encrypted data locally

Multi-Layer Encryption#

Each actor in the chain encrypts data with their own keys, creating layered encryption:
Original Data
    ↓ [Application encrypts]
Layer 1: Application-encrypted data
    ↓ [Privicore encrypts]
Layer 2: Privicore-encrypted data
    ↓ [Device encrypts]
Layer 3: Device-encrypted data (stored)

Decryption Flow#

To decrypt data, the process reverses through the chain:
Device retrieves encrypted data
    ↓ [Device decrypts with private key]
Privicore receives data
    ↓ [Privicore decrypts with private key]
Application receives data
    ↓ [Application decrypts with private key]
Original Data

Token Properties#

Token Opacity#

Tokens are cryptographically generated identifiers with no embedded information:
Tokens do not contain metadata about the data
Tokens cannot be reverse-engineered to reveal data content
Tokens are meaningless without authorization

Token Security Model#

Tokens are bound to the requesting profile
Token possession alone does not grant data access - profile authentication is required
Tokens can be revoked by deletion, immediately preventing data retrieval
All token operations are logged for audit purposes

Profile Requirements#

Every actor must be a registered profile in Privicore:
Application Profile: Represents the system exchanging data for tokens
User Profile: May represent individual users of the application
Device Profile: Represents storage devices registered on behalf of users
Each profile maintains:
Username and password for authentication
Public/private key pair for encryption and signing
Authorization token for API access

Use Cases#

Application Security#

Applications store only tokens in their databases. If compromised, attackers cannot access actual data - they only obtain opaque token identifiers that require profile authentication to use.

Distributed Storage#

Data is automatically distributed to all devices registered under a user's profile, enabling multi-device access and redundancy without application-level coordination.

Layered Encryption#

Multi-party encryption ensures that no single actor (application, Privicore, or device) can independently decrypt data - the full chain is required.

Device Operation#

Devices store encrypted data locally and can operate independently. When data is requested via token, devices provide encrypted data back through Privicore to the requesting application.

Token Management Features#

Reserve Token Space: Request a temporary token before data upload
Exchange Data for Token: Upload encrypted data to make token permanent
Request Data via Token: Retrieve data using a valid token
Configure Metadata: Set file and security risk metadata for tokens
List/Update/Delete: Manage token lifecycle and associated data
Statistics: Track token usage and transaction counts
Tokens are temporary until data is exchanged - unused tokens expire
All actors must authenticate as profiles with valid public keys
Data is encrypted at each layer of the chain
Token-based retrieval requires valid profile authentication
Treat tokens as sensitive identifiers within your application
Modified at 2025-12-11 17:17:10
Previous
Retrieve CAB public key
Next
Reserve token space
Built with