{"_id":"@capgo/capacitor-persona","_rev":"3-605cb4c0007a802217d3903f8ddc13e3","name":"@capgo/capacitor-persona","dist-tags":{"latest":"8.1.1"},"versions":{"8.0.0":{"name":"@capgo/capacitor-persona","version":"8.0.0","keywords":["capacitor","plugin","persona","inquiry","identity-verification"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-persona@8.0.0","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/persona/","bugs":{"url":"https://github.com/Cap-go/capacitor-persona/issues"},"dist":{"shasum":"a98134bf46bf953ceb328e6ad3d13c22f3296a57","tarball":"https://registry.npmjs.org/@capgo/capacitor-persona/-/capacitor-persona-8.0.0.tgz","fileCount":25,"integrity":"sha512-I7hTne03+jDH9v75qSsO2xTAm0NnFSKJ1TahT9htHLr6Kf3IDIEr86zvZ7x2S578ENWA4PAsqdwpyhzITWZHUQ==","signatures":[{"sig":"MEUCIQCu4xmojtg3/2MczY1y2IGsAQF+JsSx13L/890NYMGrKwIgNmllOmnw5zaHFrtIMwwwvGyCX9sYsZ+WixGUiN67nVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72266},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"9d4d21ed810eefa04e767a1c9d7bd94be0185193","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api PersonaPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorPersona -destination generic/platform=iOS","verify:web":"bun run build","init-plugin":"./scripts/init-plugin.sh","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd .."},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-persona.git","type":"git"},"_npmVersion":"11.7.0","description":"Capacitor plugin for launching Persona Inquiry flows on iOS and Android.","directories":{},"_nodeVersion":"24.11.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-persona_8.0.0_1771528177986_0.49838449473437674","host":"s3://npm-registry-packages-npm-production"}},"8.1.1":{"name":"@capgo/capacitor-persona","version":"8.1.1","keywords":["capacitor","plugin","persona","inquiry","identity-verification"],"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","_id":"@capgo/capacitor-persona@8.1.1","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/docs/plugins/persona/","bugs":{"url":"https://github.com/Cap-go/capacitor-persona/issues"},"dist":{"shasum":"c8a94ca05934e604c1147d26bab74ed6d8c2e5bf","tarball":"https://registry.npmjs.org/@capgo/capacitor-persona/-/capacitor-persona-8.1.1.tgz","fileCount":25,"integrity":"sha512-UEL9pr/MAQ06HwM+DhE9l9EA/JC/OPVQgPtcz3JPapyyYqbHqeoWuC8Got4cYOyva1uIU0XokPwCeYGg5dp+og==","signatures":[{"sig":"MEUCID5Z5ZeIjS8YI9OPRZJnGfOqtCAGACaMn+PwEx/K62IfAiEA7h3Qjc8B7gLprR2sVurlan7Lcn2BmS1VYq8UajX5dSs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-persona@8.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72275},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"05bbdc4b33010fbabaf1af9ad5b1ba0a3aff532b","scripts":{"fmt":"bun run eslint -- --fix && bun run prettier -- --write && bun run swiftlint -- --fix --format","lint":"bun run eslint && bun run prettier -- --check && bun run swiftlint -- lint","build":"bun run clean && bun run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api PersonaPlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext .ts","verify":"bun run verify:ios && bun run verify:android && bun run verify:web","prettier":"prettier-pretty-check \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorPersona -destination generic/platform=iOS","verify:web":"bun run build","init-plugin":"./scripts/init-plugin.sh","check:wiring":"node scripts/check-capacitor-plugin-wiring.mjs","prepublishOnly":"bun run build","verify:android":"cd android && ./gradlew clean build test && cd .."},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-persona.git","type":"git"},"_npmVersion":"10.8.2","description":"Capacitor plugin for launching Persona Inquiry flows on iOS and Android.","directories":{},"_nodeVersion":"18.20.8","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^8.57.1","rimraf":"^6.1.0","rollup":"^4.53.2","prettier":"^3.6.2","swiftlint":"^2.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","@capacitor/cli":"^8.0.0","@capacitor/ios":"^8.0.0","@capacitor/core":"^8.0.0","@capacitor/docgen":"^0.3.1","@capacitor/android":"^8.0.0","@ionic/eslint-config":"^0.4.0","eslint-plugin-import":"^2.31.0","prettier-plugin-java":"^2.7.7","prettier-pretty-check":"^0.2.0","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"^2.0.0"},"peerDependencies":{"@capacitor/core":">=8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-persona_8.1.1_1771559919032_0.8938722366805945","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-02-19T19:09:37.859Z","modified":"2026-08-19T10:41:05.829Z","8.0.0":"2026-02-19T19:09:38.156Z","8.1.1":"2026-02-20T03:58:39.176Z"},"bugs":{"url":"https://github.com/Cap-go/capacitor-persona/issues"},"author":{"name":"Martin Donadieu","email":"martin@capgo.app"},"license":"MPL-2.0","homepage":"https://capgo.app/docs/plugins/persona/","keywords":["capacitor","plugin","persona","inquiry","identity-verification"],"repository":{"url":"git+https://github.com/Cap-go/capacitor-persona.git","type":"git"},"description":"Capacitor plugin for launching Persona Inquiry flows on iOS and Android.","maintainers":[{"email":"martin.donadieu@hey.com","name":"riderx"},{"email":"tori@capgo.app","name":"torichancapgo"}],"readme":"# @capgo/capacitor-persona\n <a href=\"https://capgo.app/\"><img src='https://raw.githubusercontent.com/Cap-go/capgo/main/assets/capgo_banner.png' alt='Capgo - Instant updates for capacitor'/></a>\n\n<div align=\"center\">\n  <h2><a href=\"https://capgo.app/?ref=plugin_persona\"> ➡️ Get Instant updates for your App with Capgo</a></h2>\n  <h2><a href=\"https://capgo.app/consulting/?ref=plugin_persona\"> Missing a feature? We’ll build the plugin for you 💪</a></h2>\n</div>\n\nCapacitor plugin for launching Persona Inquiry flows in iOS and Android apps.\n\n## Install\n\n```bash\nbun add @capgo/capacitor-persona\nbunx cap sync\n```\n\n## Usage\n\n```ts\nimport { Persona } from '@capgo/capacitor-persona';\n\nawait Persona.addListener('inquiryComplete', (result) => {\n  console.log('Persona complete', result.inquiryId, result.status, result.fields);\n});\n\nawait Persona.addListener('inquiryCanceled', (result) => {\n  console.log('Persona canceled', result.inquiryId, result.sessionToken);\n});\n\nawait Persona.addListener('inquiryError', (result) => {\n  console.error('Persona error', result.error, result.errorCode);\n});\n\nawait Persona.startInquiry({\n  templateId: 'itmpl_EXAMPLE',\n  environment: 'sandbox',\n  referenceId: 'user_123',\n  fields: {\n    name_first: 'Alex',\n    age: 29,\n    is_verified_user: true,\n  },\n});\n```\n\n## Integration Notes\n\n- iOS requires Persona usage descriptions in `Info.plist`, including `NSCameraUsageDescription`, `NSLocationWhenInUseUsageDescription`, and `NSBluetoothAlwaysUsageDescription`.\n- Android uses Persona's Maven repository (`https://sdk.withpersona.com/android/releases`) and bundles `com.withpersona.sdk2:inquiry`.\n- For critical business logic, rely on Persona webhooks instead of SDK callbacks.\n\n## API\n\n<docgen-index>\n\n* [`startInquiry(...)`](#startinquiry)\n* [`addListener('inquiryComplete', ...)`](#addlistenerinquirycomplete-)\n* [`addListener('inquiryCanceled', ...)`](#addlistenerinquirycanceled-)\n* [`addListener('inquiryError', ...)`](#addlistenerinquiryerror-)\n* [`removeAllListeners()`](#removealllisteners)\n* [Interfaces](#interfaces)\n* [Type Aliases](#type-aliases)\n\n</docgen-index>\n\n<docgen-api>\n<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->\n\n### startInquiry(...)\n\n```typescript\nstartInquiry(options: StartInquiryOptions) => Promise<void>\n```\n\nLaunch a Persona Inquiry flow.\n\n| Param         | Type                                                                |\n| ------------- | ------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#startinquiryoptions\">StartInquiryOptions</a></code> |\n\n--------------------\n\n\n### addListener('inquiryComplete', ...)\n\n```typescript\naddListener(eventName: 'inquiryComplete', listenerFunc: (info: InquiryCompleteInfo) => void) => Promise<PluginListenerHandle>\n```\n\nListen for successful completion.\n\n| Param              | Type                                                                                   |\n| ------------------ | -------------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'inquiryComplete'</code>                                                         |\n| **`listenerFunc`** | <code>(info: <a href=\"#inquirycompleteinfo\">InquiryCompleteInfo</a>) =&gt; void</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n--------------------\n\n\n### addListener('inquiryCanceled', ...)\n\n```typescript\naddListener(eventName: 'inquiryCanceled', listenerFunc: (info: InquiryCanceledInfo) => void) => Promise<PluginListenerHandle>\n```\n\nListen for cancellation.\n\n| Param              | Type                                                                                   |\n| ------------------ | -------------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'inquiryCanceled'</code>                                                         |\n| **`listenerFunc`** | <code>(info: <a href=\"#inquirycanceledinfo\">InquiryCanceledInfo</a>) =&gt; void</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n--------------------\n\n\n### addListener('inquiryError', ...)\n\n```typescript\naddListener(eventName: 'inquiryError', listenerFunc: (info: InquiryErrorInfo) => void) => Promise<PluginListenerHandle>\n```\n\nListen for unrecoverable errors.\n\n| Param              | Type                                                                             |\n| ------------------ | -------------------------------------------------------------------------------- |\n| **`eventName`**    | <code>'inquiryError'</code>                                                      |\n| **`listenerFunc`** | <code>(info: <a href=\"#inquiryerrorinfo\">InquiryErrorInfo</a>) =&gt; void</code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#pluginlistenerhandle\">PluginListenerHandle</a>&gt;</code>\n\n--------------------\n\n\n### removeAllListeners()\n\n```typescript\nremoveAllListeners() => Promise<void>\n```\n\nRemove all registered listeners for this plugin instance.\n\n--------------------\n\n\n### Interfaces\n\n\n#### StartInquiryOptions\n\nInput payload used to launch an Inquiry.\n\nProvide at least one of:\n- `templateId`\n- `templateVersion`\n- `inquiryId`\n\n| Prop                  | Type                                                                                                        | Description                                               | Default                   |\n| --------------------- | ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | ------------------------- |\n| **`inquiryId`**       | <code>string</code>                                                                                         | Existing Inquiry ID created on your backend.              |                           |\n| **`sessionToken`**    | <code>string</code>                                                                                         | Session token required when resuming an existing Inquiry. |                           |\n| **`templateId`**      | <code>string</code>                                                                                         | Inquiry template ID from Persona Dashboard (recommended). |                           |\n| **`templateVersion`** | <code>string</code>                                                                                         | Inquiry template version ID from Persona Dashboard.       |                           |\n| **`referenceId`**     | <code>string</code>                                                                                         | Your internal user reference.                             |                           |\n| **`accountId`**       | <code>string</code>                                                                                         | Persona account ID.                                       |                           |\n| **`environment`**     | <code><a href=\"#personaenvironment\">PersonaEnvironment</a></code>                                           | Persona environment.                                      | <code>'production'</code> |\n| **`locale`**          | <code>string</code>                                                                                         | Locale override, for example `en`, `fr`, `es`.            |                           |\n| **`fields`**          | <code><a href=\"#record\">Record</a>&lt;string, <a href=\"#personafieldvalue\">PersonaFieldValue</a>&gt;</code> | Optional fields pre-written into the Inquiry.             |                           |\n\n\n#### PluginListenerHandle\n\n| Prop         | Type                                      |\n| ------------ | ----------------------------------------- |\n| **`remove`** | <code>() =&gt; Promise&lt;void&gt;</code> |\n\n\n#### InquiryCompleteInfo\n\nPayload emitted when an Inquiry is completed.\n\n| Prop            | Type                                                                                                                    |\n| --------------- | ----------------------------------------------------------------------------------------------------------------------- |\n| **`inquiryId`** | <code>string</code>                                                                                                     |\n| **`status`**    | <code>string</code>                                                                                                     |\n| **`fields`**    | <code><a href=\"#record\">Record</a>&lt;string, <a href=\"#personaresultfieldvalue\">PersonaResultFieldValue</a>&gt;</code> |\n\n\n#### InquiryCanceledInfo\n\nPayload emitted when an Inquiry is canceled.\n\n| Prop               | Type                |\n| ------------------ | ------------------- |\n| **`inquiryId`**    | <code>string</code> |\n| **`sessionToken`** | <code>string</code> |\n\n\n#### InquiryErrorInfo\n\nPayload emitted when an Inquiry errors.\n\n| Prop            | Type                |\n| --------------- | ------------------- |\n| **`error`**     | <code>string</code> |\n| **`errorCode`** | <code>string</code> |\n| **`cause`**     | <code>string</code> |\n\n\n### Type Aliases\n\n\n#### PersonaEnvironment\n\nEnvironment where Persona should run.\n\n<code>'production' | 'sandbox'</code>\n\n\n#### Record\n\nConstruct a type with a set of properties K of type T\n\n<code>{\r [P in K]: T;\r }</code>\n\n\n#### PersonaFieldValue\n\nSupported field value types for pre-writing Inquiry fields.\n\n<code>string | number | boolean | string[]</code>\n\n\n#### PersonaResultFieldValue\n\nSerialized field value returned in Inquiry result callbacks.\n\n<code>string | number | boolean | string[] | null</code>\n\n</docgen-api>\n","readmeFilename":"README.md"}