Share one device pairing across every app your team ships, signed by the same Apple team.
Without any extra setup, pairing is per-device, per-app: if your team ships three apps, a
reviewer’s device needs three separate “Review on this device” pairings, one per app.
Team-wide pairing removes that repetition — pair once on a device, and it covers every app
your team ships that’s signed by the same Apple team.This is entirely optional. Skip it and the SDK works exactly as described in the
quickstart — nothing about baseline integration changes.
Select your app target, then the Signing & Capabilities tab.
2
Add Keychain Sharing
Click + Capability and add Keychain Sharing.
3
Add this access group
Add the group below to every app your team wants to share pairing across. You supply the
fully-qualified string yourself — Xcode doesn’t always resolve
$(AppIdentifierPrefix) for you in the capability editor, so double-check the resolved
value in your build settings if pairing doesn’t end up shared.
If an app doesn’t have this entitlement, the SDK silently falls back to a private,
app-only keychain store. Nothing breaks — you just don’t get cross-app sharing for that
app.
The shared item is a pairing credential — proof that “this device belongs to this
reviewer” — not a working session. Each app still exchanges that credential for its own
session the first time it sees it, the same activation step every app goes through
normally; team-wide pairing just means the device doesn’t need a fresh QR scan to produce
that credential for every app.
Authorization stays per-app and per-org. Sharing a pairing credential across apps signed by
the same Apple team never grants access to an app that belongs to a different Tappify org
— the backend still checks org ownership independently for every app. Same signing team
does not mean same Tappify organization, which matters in particular for agencies signing
multiple clients’ apps under one team: pairing a device to one client’s app never leaks
visibility into another client’s app, even if both are signed by the same team.
Revoking a device (from any one of the apps it’s paired to) revokes its shared credential
too, which ends its session on every app that used it — see
Activating devices.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Tappify Documentation","description":"Official Tappify Documentation","colors":{"primary":"#0F490C","light":"#D1FD7A","dark":"#0F490C"},"logo":{"light":"https://mintcdn.com/tappify/ZaJOlgJY9Ns7jHIG/logo/light.svg?fit=max\u0026auto=format\u0026n=ZaJOlgJY9Ns7jHIG\u0026q=85\u0026s=60227f6b2d4a794c59f813301f5209b1","dark":"https://mintcdn.com/tappify/ZaJOlgJY9Ns7jHIG/logo/dark.svg?fit=max\u0026auto=format\u0026n=ZaJOlgJY9Ns7jHIG\u0026q=85\u0026s=88d42daad5b675f5c9636d95c9da0d41"},"favicon":"https://mintcdn.com/tappify/-X0FHhhJq-K69Ern/favicon.svg?fit=max\u0026auto=format\u0026n=-X0FHhhJq-K69Ern\u0026q=85\u0026s=167166c1fc95881e819db93edf8d6b24","appearance":{"default":"system"},"background":{"decoration":"grid"},"navbar":{"links":[{"href":"mailto:hello@tappify.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.tappify.ai"}},"footer":{"socials":{"github":"https://github.com/tappify-dev","linkedin":"https://www.linkedin.com/company/tappifyai"}},"styling":{"eyebrows":"section","latex":false},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tappify","hasAudioNarration":false,"actualSubdomain":"tappify","customDomains":["docs.tappify.ai"],"gitSource":{"type":"github","owner":"tappify-dev","repo":"documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6acd9a6b44a622b39e4f107b","collectionId":"c27c9a1e-4d07-4ace-afb7-a506ece65dcf","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6acd9a6b44a622b39e4f107b"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6acd9a6b44a622b39e4f107b","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"default","tag":"Extensions","count":256},{"language":"default","tag":"Reference","count":219},{"language":"default","tag":"Frontend API symbols","count":130},{"language":"default","tag":"Server API symbols","count":43},{"language":"default","tag":"Testing API symbols","count":31},{"language":"default","tag":"Build","count":23},{"language":"default","tag":"Review SDK","count":12},{"language":"default","tag":"Publish","count":7},{"language":"default","tag":"Test","count":6},{"language":"default","tag":"Guides","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"sdk/team-wide-pairing","slug":"/sdk/team-wide-pairing","pageMetadata":{"title":"Team-wide pairing","description":"Share one device pairing across every app your team ships, signed by the same Apple team.","icon":"people-group","href":"/sdk/team-wide-pairing"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Share one device pairing across every app your team ships, signed by the same Apple team.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Note,Step,Steps,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Without any extra setup, pairing is per-device, per-app: if your team ships three apps, a\nreviewer’s device needs three separate “Review on this device” pairings, one per app.\nTeam-wide pairing removes that repetition — pair once on a device, and it covers every app\nyour team ships that’s signed by the same Apple team.`}),`\n`,_jsxs(_components.p,{children:[`This is entirely optional. Skip it and the SDK works exactly as described in the\n`,_jsx(_components.a,{href:`/sdk/quickstart`,children:`quickstart`}),` — nothing about baseline integration changes.`]}),`\n`,_jsx(Heading,{level:`2`,id:`set-it-up`,children:`Set it up`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open Signing \u0026 Capabilities in Xcode`,children:_jsxs(_components.p,{children:[`Select your app target, then the `,_jsx(_components.strong,{children:`Signing \u0026 Capabilities`}),` tab.`]})}),_jsx(Step,{title:`Add Keychain Sharing`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`+ Capability`}),` and add `,_jsx(_components.strong,{children:`Keychain Sharing`}),`.`]})}),_jsxs(Step,{title:`Add this access group`,children:[_jsxs(_components.p,{children:[`Add the group below to every app your team wants to share pairing across. You supply the\nfully-qualified string yourself — Xcode doesn’t always resolve\n`,_jsx(_components.code,{children:`$(AppIdentifierPrefix)`}),` for you in the capability editor, so double-check the resolved\nvalue in your build settings if pairing doesn’t end up shared.`]}),_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`Entitlements`,numberOfLines:`4`,language:`xml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`xml`,children:_jsxs(_components.code,{language:`xml`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`keychain-access-groups`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`array`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$(AppIdentifierPrefix)com.tappify.shared`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`array`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})})})]})]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`If an app doesn’t have this entitlement, the SDK silently falls back to a private,\napp-only keychain store. Nothing breaks — you just don’t get cross-app sharing for that\napp.`})}),`\n`,_jsx(Heading,{level:`2`,id:`what-sharing-actually-shares`,children:`What sharing actually shares`}),`\n`,_jsx(_components.p,{children:`The shared item is a pairing credential — proof that “this device belongs to this\nreviewer” — not a working session. Each app still exchanges that credential for its own\nsession the first time it sees it, the same activation step every app goes through\nnormally; team-wide pairing just means the device doesn’t need a fresh QR scan to produce\nthat credential for every app.`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Authorization stays per-app and per-org. Sharing a pairing credential across apps signed by\nthe same Apple team never grants access to an app that belongs to a different Tappify org\n— the backend still checks org ownership independently for every app. Same signing team\ndoes not mean same Tappify organization, which matters in particular for agencies signing\nmultiple clients’ apps under one team: pairing a device to one client’s app never leaks\nvisibility into another client’s app, even if both are signed by the same team.`})}),`\n`,_jsxs(_components.p,{children:[`Revoking a device (from any one of the apps it’s paired to) revokes its shared credential\ntoo, which ends its session on every app that used it — see\n`,_jsx(_components.a,{href:`/sdk/activating-devices#revoking-devices`,children:`Activating devices`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Team-wide pairing","description":"Share one device pairing across every app your team ships, signed by the same Apple team.","icon":"people-group","href":"/sdk/team-wide-pairing"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Set it up","slug":"set-it-up","depth":2,"children":[]},{"title":"What sharing actually shares","slug":"what-sharing-actually-shares","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"tappify","siteName":"Tappify Documentation","title":"Team-wide pairing - Tappify Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-09T15:08:05.233Z","originalFileLocation":"sdk/team-wide-pairing.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Share one device pairing across every app your team ships, signed by the same Apple team.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Tappify Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tappify/goDzYGcjkNB2M95R/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/tappify/goDzYGcjkNB2M95R/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tappify/goDzYGcjkNB2M95R/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tappify/goDzYGcjkNB2M95R/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tappify/goDzYGcjkNB2M95R/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tappify/goDzYGcjkNB2M95R/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tappify/goDzYGcjkNB2M95R/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tappify/goDzYGcjkNB2M95R/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tappify/goDzYGcjkNB2M95R/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Team-wide pairing - Tappify Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Share one device pairing across every app your team ships, signed by the same Apple team.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Tappify Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tappify.ai/sdk/team-wide-pairing\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tappify.mintlify.app/_mintlify/api/og/v2?division=Configuration\u0026amp;title=Team-wide+pairing\u0026amp;description=Share+one+device+pairing+across+every+app+your+team+ships%2C+signed+by+the+same+Apple+team.\u0026amp;theme=03197c0b2193a2e17c07bb7d\u0026amp;signature=f58eeae317623f346b11a1cbee6f88fd94baac975345e4ee54822bfe10c10637\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Team-wide pairing - Tappify Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Share one device pairing across every app your team ships, signed by the same Apple team.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tappify.mintlify.app/_mintlify/api/og/v2?division=Configuration\u0026amp;title=Team-wide+pairing\u0026amp;description=Share+one+device+pairing+across+every+app+your+team+ships%2C+signed+by+the+same+Apple+team.\u0026amp;theme=03197c0b2193a2e17c07bb7d\u0026amp;signature=f58eeae317623f346b11a1cbee6f88fd94baac975345e4ee54822bfe10c10637\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/tappify/goDzYGcjkNB2M95R/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Tappify Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0F490C\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tappify.ai/sdk/team-wide-pairing\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/sdk/team-wide-pairing.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tappify.ai/#organization\",\"name\":\"Tappify Documentation\",\"url\":\"https://docs.tappify.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tappify/ZaJOlgJY9Ns7jHIG/logo/light.svg?fit=max\u0026auto=format\u0026n=ZaJOlgJY9Ns7jHIG\u0026q=85\u0026s=60227f6b2d4a794c59f813301f5209b1\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tappify.ai#website\",\"name\":\"Tappify Documentation\",\"url\":\"https://docs.tappify.ai\",\"publisher\":{\"@id\":\"https://docs.tappify.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tappify.ai/sdk/team-wide-pairing#webpage\",\"url\":\"https://docs.tappify.ai/sdk/team-wide-pairing\",\"name\":\"Team-wide pairing\",\"description\":\"Share one device pairing across every app your team ships, signed by the same Apple team.\",\"dateModified\":\"2026-08-09T15:08:05.233Z\",\"isPartOf\":{\"@id\":\"https://docs.tappify.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tappify.ai/sdk/team-wide-pairing#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tappify.ai/sdk/team-wide-pairing#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Configuration\",\"item\":\"https://docs.tappify.ai/sdk/gating-modes\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Team-wide pairing\",\"item\":\"https://docs.tappify.ai/sdk/team-wide-pairing\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.tappify.ai/sdk/team-wide-pairing#article\",\"headline\":\"Team-wide pairing\",\"name\":\"Team-wide pairing\",\"description\":\"Share one device pairing across every app your team ships, signed by the same Apple team.\",\"url\":\"https://docs.tappify.ai/sdk/team-wide-pairing\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tappify.ai/sdk/team-wide-pairing#webpage\"},\"dateModified\":\"2026-08-09T15:08:05.233Z\",\"publisher\":{\"@id\":\"https://docs.tappify.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tappify.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Tappify Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Tappify Documentation","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"Extensions","pages":[{"title":"Extensions","href":"/extensions"}]},{"tab":"Review SDK","groups":[{"group":"Getting started","pages":[{"title":"Tappify SDK","icon":"layer-group","href":"/sdk"},{"title":"Quickstart","icon":"rocket","href":"/sdk/quickstart"},{"title":"How review mode works","icon":"circle-question","href":"/sdk/how-review-mode-works"}]},{"group":"Review mode","pages":[{"title":"Activating devices","icon":"qrcode","href":"/sdk/activating-devices"},{"title":"Commenting","icon":"comment","href":"/sdk/commenting"},{"title":"Dashboard Review tab","icon":"browser","href":"/sdk/dashboard-review-tab"}]},{"group":"Configuration","pages":[{"title":"Gating modes","icon":"toggle-on","href":"/sdk/gating-modes"},{"title":"Screen names","description":"How screens get their names automatically, why SwiftUI apps often need a manual tag, and how to add one.","icon":"tag","href":"/sdk/screen-names"},{"title":"Team-wide pairing","icon":"people-group","href":"/sdk/team-wide-pairing"}]},{"group":"Reference","pages":[{"title":"API surface","description":"Every public symbol in the Tappify Swift SDK: signatures, parameters, and defaults.","icon":"code","href":"/sdk/api-surface"},{"title":"Privacy \u0026 security","icon":"shield-halved","href":"/sdk/privacy-and-security"},{"title":"Troubleshooting","icon":"wrench","href":"/sdk/troubleshooting"}]}]},{"tab":"API reference","hidden":true,"pages":[{"title":"API reference","href":"/api-reference/introduction"}]},{"tab":"How It Works","icon":"comment-question","pages":[{"title":"How It Works","href":"/how-it-works"}]}]},"title":"Team-wide pairing - Tappify Documentation","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":[],"chunks":[]}