Permissions

BooApps use a permission system to control access to native device features. Each permission group grants access to specific Bridge API actions.

How Permissions Work

  1. Declare every scope you call in your submission (or in your booapp.json for auto-import)
  2. On first launch, Peqaboo shows a bottom-sheet listing every requested scope, grouped by category
  3. The runtime enforces scopes per-call — anything outside your declared set throws PermissionDeniedError
  4. Request only what you actually use — fewer scopes means higher install conversion

Risk Tiers & Grant Flow

Every scope is tagged with a Risk Tier that controls when the user is asked to grant it:

Low

Auto-granted — already implied by being signed in. No prompt.

Medium

First call shows a grant dialog. Result persisted to installs/{uid}.grantedPermissions.

High

Confirms every call. Never cached. Used for payments, writes to medical records, and similar.

booapp.json — declare scopes by id
json
{
  "permissions": [
    "auth.requireLogin",
    "pet.list",
    "media.takePhoto",
    "location.getCurrent"
  ]
}

All Scopes

The full set of scopes the runtime understands. Each row shows the scope id (use this in your permissions array), its risk tier, and the SDK methods it covers.

Best Practices

Minimal Permissions

Only request the permissions your app truly needs. Apps with fewer permissions get better conversion rates as users are more willing to install them.

High Risk Permissions

Scopes tagged high risk — camera, location, payments, pet record writes, etc. — confirm with the user every call and receive extra scrutiny during review. Be prepared to justify why your app needs them.

Common Permission Combinations

Basic App

Simple utility with key/value storage

["auth.requireLogin", "data.read", "data.write"]

Pet-Focused App

Reads pet data

["auth.requireLogin", "pet.list", "pet.read", "data.read", "data.write"]

Photo App

Camera, gallery, and uploads

["auth.requireLogin", "pet.list", "media.takePhoto", "media.pickImage", "storage.upload"]

Social App

Profiles, sharing, and chat

["auth.requireLogin", "pet.list", "device.share", "chat.openWith"]

Location App

GPS and map features

["auth.requireLogin", "pet.list", "location.getCurrent", "data.read", "data.write"]
Previous
Package Format
Next
Design Guidelines
B

Peqaboo Developer

Docs & Partner Platform

Back to Peqaboo
Partner APIs
Partner workspacePartner API
Documentation
Getting StartedBuild with AIGlobal PresenceAPI ReferencePackage FormatPermissionsDesign GuidelinesReview GuidelinesBrand ResourcesSDK Downloads
Developer Console
B
Peqaboo Developer
Partner workspacePartner APIGetting StartedBuild with AIGlobal PresenceAPI ReferencePackage FormatPermissionsDesign GuidelinesReview GuidelinesBrand ResourcesSDK DownloadsDeveloper Console