Persona SDK Overview
Understand what Persona returns, how the flow works, and how consent controls the response.
Persona SDK Overview
Persona gives your app user-approved personality and preference signals without asking you to build your own data collection pipeline.
Show one button, let the user connect their data, ask for consent, and receive structured outputs that your product can use for personalization.
What Persona returns
| Type | What you receive |
|---|---|
| Traits | positive_traits, traits_to_improve, user_summary, top_traits_explanation, archetype, and nudges |
| Inference scores | 0-1 scores that estimate how likely the user is to like specific items you send |
| Connected platforms | The data sources that contributed to the response |
| Metadata | Route-specific metadata such as coverage, connected sources, and training/inference details |
| Optional LLM summaries | Recent LLM interaction summaries when the user approved that access |
How the flow works
- You initialize the SDK with your developer API key.
- The user opens the Onairos flow and signs in.
- The user connects data sources such as YouTube, Reddit, Gmail, or LLM apps.
- The user approves your request for traits, inference, or both.
- Your app receives a token, an API URL, and optionally the fetched API response.
How traits and scores are produced
- Trait generation samples user activity across connected platforms and outputs a structured profile with summaries, archetype, nudges, and supporting metadata.
- MIND1 model inference combines title, topic, and image embeddings to produce 0-1 affinity scores for the items you send for prediction. This is the per-user preference model trained on the user's positive and negative interaction data.
That means your app can request traits only, inference only, or a combined response. It is normal for different products in the same company to use different Persona routes depending on what they are building.
Connector customization
- Web: Use
allowedPlatformsto filter the default connector list, orrawMemoriesOnlyto show only LLM connectors. - React Native: Use
allowedPlatformsto control which connectors appear and in what order, andrecommendedPlatformsto add theHighly Recommendedbadge. - Flutter: The current wrapper uses its built-in connector set. Do not rely on
preferredPlatformto reorder the current onboarding UI. - Swift: Use
OnairosConfig.platformsto set visible connectors and order, andrecommendedPlatformsto add badges.
Use webpageName, onComplete, and autoFetch on web; use AppName, PortalHost, and onComplete on React Native; use Onairos with onResolved on Flutter; and use OnairosConfig plus createConnectButton on Swift. Do not rely on legacy auto, priorityPlatform, or preferredPlatform to drive connector ordering in current integrations.
Why the response shape can change
Onairos chooses the downstream response flow based on what the user approved. For example:
- If the user approves traits only, you get a traits response.
- If the user approves inference only, you get
InferenceResult.output. - If the user approves both, you get a combined response with traits and inference data.
Use the returned result.apiUrl for the next request. Persona is one SDK entry point, but it can return different downstream API URLs depending on the consent state and requested outputs.