Skip to main content
Platform
Camera Kit

Releasing Your Camera Kit App

Congratulations, you've completed your Camera Kit integration, published some Lenses, and are now ready to release your app to the world!

Outlined below are some final steps and recommendations to get your app released:

  • Approval from the Snap Kit release team, which requires compliance with Developer Guidelines
  • Please make sure that Snap branding is present by following guidelines outlined here [required]
  • Rollout and rollback strategy
  • Using Production API Token after approval
  • iOS, Android and Web release considerations

Video Overview

Snap Kit App Approval

Releasing an app utilizing Camera Kit for the first time will require a review and approval by the Snap Kit team.

In the Snap Kit portal, select the version of your app that has just added and enabled Camera Kit — for new apps this is usually labeled "Initial Version". Complete all of the information requested in the form and then click "Submit for Review".

All of the details are required but the two critical components are the Privacy Policy URL and Demo Videos.

Privacy Policy URL

A privacy policy that is publicly hosted on a website.

Demo Videos

One or more simple screen recordings showing the Camera Kit feature in action.

Make sure to include part of the user journey into the feature, the camera in operation with Camera Kit in use, and if it exists part of the post-capture experience.

Beyond showing the Camera Kit the video must include an example of displaying and accepting the Camera Kit Terms of Service and adherence to our Branding Guidelines.

Using the Production API Token

The Production API Token is enabled for your app once a production version of the app has been reviewed and approved by Snap for public release. Until then, and for internal and debug builds of your app, you should use the Staging API token listed in the app view of the My-Lenses. Note that when using the staging API token, a "Camera Kit Staging" watermark will appear on your app's screen and your integration will be subject to lower rate limits. Once your app is approved by Snap, the Production API token will be enabled and should be referenced for the public version of your application. The Production API token will not apply the watermark and has higher usage limits for your integration. We aim to have all integrations reviewed in one to two business days, however depending on your integration’s category or the type of content in your integration, we may require additional information and review times could be longer.

To provide its complete functionality Camera Kit will require access to the device camera, microphone, location, and native AR capabilities. It is likely camera and microphone access may have already been provisioned through existing app functionality, however if this is a new integration, or it's been a while, please consider best practices for the appropriate platform below.

  • Camera — required for access to augment a live camera stream
  • Microphone — to apply an audio layer in a video recording
  • Location — location-based experiences, primarily Landmarker Lenses
  • Media Library — access to photos and video for the media picker

Camera Kit does not make direct requests to features that require user consent. It is the responsibility of the host application to make these requests.

Camera Kit does not require "always on" location access. Do not make any requests to your customers that may imply Camera Kit requires background access to their location.

iOS Considerations

App Privacy Labels

In the course of its normal operation Camera Kit collects some anonymized usage and performance metrics that the App Store requires to be disclosed. For details on this please refer to Apple's documentation for App privacy details on the App Store.

Data Not Linked to You

  • Usage Data
    • Product Interaction
  • Diagnostics
    • Crash Data
    • Performance Data

If you intend to create Landmarker Lenses you will also need to add Location (also not linked to the user).

Complying with Encryption Export Regulations

When using Landmarkers location AR functionality, Camera Kit SDK decrypts assets on the end-users device using the device's operating system provided AES128GCM implementation.

Privacy Manifest

Apple asks developers to declare data use in privacy manifest files. A privacy manifest lists the types of data your app collects and the reason for collecting them. If your app uses third-party frameworks you are responsible for listing the data those frameworks collect.

In particular you must declare any required reason APIs used by your app or its third-party frameworks. Otherwise Apple App Store may reject your app submission starting 1 May 2024.

If you update to Camera Kit SDK v1.30 and above, you do not need to do anything. These versions of the framework will have a privacy manifest file at the root of the SCSDKCameraKit.framework.

Older versions of Camera Kit SDK

Privacy manifests are new and Camera Kit SDK did not have one before v1.30.0. We recommend updating the SDK to get the latest changes and our privacy manifest.

You can however remain on an earlier supported version, by copying the privacy manifest from SCSDKCameraKit v1.30.0 or later to an older version.

Here are the steps:

  1. Download SCSDKCameraKit v1.30.0 using this link or via pod install.

  2. Unzip the framework if using the link rather than pod install

  3. Navigate to /SCSDKCameraKit.xcframework/ios-arm64/SCSDKCameraKit.framework

  4. Copy PrivacyInfo.xcprivacy

  5. Paste PrivacyInfo.xcprivacy in your (older) framework, again at /SCSDKCameraKit.xcframework/ios-arm64/SCSDKCameraKit.framework

Your version of Camera Kit SDK now has a privacy manifest. If your workflow does not allow you to copy over the privacy manifest, another option is to add each of the declarations in our privacy manifest to your app's global privacy manifest.

You should now be able to create your app's privacy report in Xcode.

Media Capture

iOS requires that your app provide static messages to display to the user that explain why you are requesting camera or microphone permission: Requesting Authorization for Media Capture on iOS.

Example for requesting camera access:

"APP NAME" Would Like to Access the Camera.
This will let you take photos, record video, and apply fun AR experiences. See our Privacy Policy for more information.

You can change this messaging to suit your app's use case. For example, your app may not provide video recording as a feature.

Image Picker

Camera Kit allows you to build Lenses that can access a user's local media via the Photos app. You can use selected images for things like applying to a background texture.

You must include an entry in your iOS app's plist for "Privacy - Photo Library Usage Description" to highlight this ability.

Location

Please refer to Apple's Core Location document for guidance. Camera Kit does not require "always on" location sharing.

TrueDepth

TrueDepth is a feature provided by newer iOS devices that provides additional depth data in real time when using the front-facing camera. It is only used by a very small set of Lenses.

If you have configured ARKit face tracking features within your Camera Kit integration you will need to provide additional disclosures and privacy information to Apple and your customers.

Apple requires an app to include how they're using this data in their privacy policy as well as clearly stating use of TrueDepth technology in the submission. Review the Apple documentation for guidance: Verifying Device Support and User Permission.

Android Considerations

Media Capture

Android apps are required to request permission to access sensitive data, including the camera. Camera Kit will need access to the camera and microphone and, optionally, location. Please familiarize yourself with the Android guide for requesting app permissions. Camera and microphone management is the responsibility of the host application. Camera Kit will not make any requests to these protected resources.

Location

Camera Kit does not require background access to a user's location. Location will be required if Landmarker Lenses are being used.

Web Considerations

Configuring Trusted Origins

Make sure to specify your Trusted Origins in the Platform Identifiers section of your Snap Kit application configuration. This step is crucial to authorize API usage on the designated web pages where you plan to deploy your application.

Was this page helpful?
Yes
No