Specifying Uses

Uses define how collected data will be utilized and optionally where it may be stored/processed.

As part of a Data License, you not only define what data is collected, but how it will be used. These fields are specifically designed to simplify building enforcement rules, and are not typically displayed to the user.

Use Cases

The purpose for the data collection.

For example, the use of a user's MAID (IDFA/GAID) for ad attribution. The license is for the MAID asset (see Selecting a Pointer Record), and the use case is ad attribution.

Use cases are an enumerated string, with support for custom use cases in the format of custom:<custom_usecase>. Supported Enums:

EnumDescription
attributiondetermine the actions that led to an outcome
retargetingadvertise to and reach users, often on other platforms
personalizationtailor messaging, offers, features, etc., to an individual
ai_trainingtrain machine learning models with user data
distributiondistribute/relicense data, insights, signals, etc., to 3rd-parties
analyticsextract insights and signals from user data
supportadd user data into customer support processes
custom:<xyz>a custom use case relevant to your business

Destinations

Use include an optional destination field, where the asset may be explicitly stored or processed explicitly for the use case. This is helpful in license enforcement when one or more 3rd-parties are involved in the use.

Destinations may be either:

  • an explicit destination (your-co.com) or category of destinations (data marketplaces).
  • [recommended] Regex (ECMAScript) such as '\.your-co\.com' which functions akin to a subdomain wildcard. Don't forget to escape tokens like .\. 🙃.

Example

TikiSdk.config()
  .offer
  	.use({
  		usecases:[
        TikiSdk.LicenseUsecase.attribution(),
        TikiSdk.LicenseUsecase.custom("YOUR CUSTOM USECASE")
      ],
  		destinations: [
        '\.your-co\.com',
        '\.facebook\.com'
      ]
	})
try? TikiSdk.config()
		.offer
			.use(
              usecases: [
                LicenseUsecase.attribution,
                LicenseUsecase("YOUR CUSTOM USECASE")
              ],
              destinations: [
                "\.your-co\.com",
                "\.facebook\.com"
              ])
TikiSdk
	.offer
		.use(
          listOf(
            LicenseUsecase.ATTRIBUTION, 
            LicenseUsecase("YOUR CUSTOM USECASE")
          ),
          listOf(
            "\.your-co\.com",
            "\.facebook\.com"
          )
        )
await TikiSdk.config()
  	.offer
  		.use(
  			[
          	  LicenseUsecase.attribution(),
          	  LicenseUsecase.custom("YOUR CUSTOM USECASE")
        	],
            destinations: [
              "\.your-co\.com",
              "\.facebook\.com"
            ])