Adobe Experience Platform Assurance (Griffon) debugging
last verified · against Adobe Experience Platform Assurance docs as of 2026-07
Adobe Experience Platform Assurance (Griffon) debugging reference: connect a session, read Event Transactions and Analytics Edge views, and fix connection errors.
What this is
Adobe Experience Platform Assurance (formerly Project Griffon, generally available October 15, 2022) is a tool to inspect, proof, simulate, and validate how an app collects data or serves experiences, streaming live app events in real time over a no-proxy connection established by QR code, session link, or button tap. It covers mobile SDK implementations and, through the Experience Platform Debugger, Web SDK (Alloy) implementations, and is reached at griffon.adobe.com or experience.adobe.com/assurance (also via the Data Collection UI).
Access and session facts
| Property | Value |
|---|---|
| Former name | Project Griffon |
| General availability | October 15, 2022 (all Adobe Experience Cloud customers) |
| Access URLs | https://griffon.adobe.com, https://experience.adobe.com/assurance, or via the Data Collection UI |
| Handshake | Secure PIN-based |
| Transport | HTTPS, TLS 1.2 encryption |
| At rest | Data encrypted |
| Session retention | Sessions deleted after 30 days |
| Extension name | AEP Assurance |
| Install path | Data Collection UI → mobile property → Extensions → Catalog → Install |
| Connected indicator | Red Adobe “A” icon displayed as an overlay on the app |
Connection methods
| Method | Steps | Key fields / notes |
|---|---|---|
| Deep link connect (mobile) | Create Session → Deep link connect → Start → enter Name and Base URL → Next → scan QR or open the session link → enter PIN → Connect | Assurance generates a unique session URL, QR code, and PIN. Base URL is the deep-linking URL, e.g. myapp://default |
| Quick connect (mobile) | Create Session → Quick connect → Start → in the app trigger the action calling startSession → select the device in the picker → Connect |
Requires the minimum SDK versions below |
| Deep link connect (Web SDK) | Create Session → Deep link connect → enter Name and Base URL (the site root, e.g. https://luma.enablementadobe.com/) → Copy Link → paste into the browser |
Pasting appends adb_validation_sessionid and initiates the session |
| Experience Platform Debugger (Web SDK) | In the Chrome extension: Logs → Edge tab → Connect with a session name (enables Edge Trace) → the outgoing-link icon opens Assurance in a new tab | Enabling Edge Trace starts an Assurance session in the background |
Base URL definition: the root definition used to launch the app from a URL (the deep-linking URL); a session URL is generated from it to initiate the Assurance session.
Quick Connect minimum SDK versions
| SDK | Android | iOS |
|---|---|---|
| Mobile Core | v3.1.0+ | v5.2.0+ |
| Adobe Journey Optimizer | v3.1.0+ | v5.1.1+ |
| Assurance | v3.0.4+ | v5.0.0+ |
These thresholds are version-sensitive; confirm against the latest SDK release notes before relying on them.
startSession API by platform
| Platform | Call | Location | Called explicitly? |
|---|---|---|---|
| iOS | Assurance.startSession(url: deepLinkURL) |
SceneDelegate | Yes — iOS requires it |
| Android | Assurance.startSession(deeplink) |
handleDeeplink() |
No — not required to call explicitly |
Deep link scheme configuration
| Platform | Where | Example |
|---|---|---|
| iOS | Xcode → Info tab → URL Types (custom URL scheme) | lumatutorialswiftui:// |
| Android | AndroidManifest.xml intent filter with android:scheme and android:host |
lumatutorialandroid://default |
Device vs simulator connect
| Target | Action |
|---|---|
| Physical device | Scan QR Code with the camera (on iOS 11+, scan the QR code via the Photos app if the camera does not) |
| Simulator | Copy Link → paste into Safari (iOS) or Chrome (Android) → enter the PIN shown in the modal |
Views (add or remove via Configure, bottom-left → Save)
The left navigation is customizable: select Configure at the bottom-left of the window, add or remove views, and select Save. SDK events load by default in a time-sorted list, each with a detail view, and events can be searched or filtered.
| View | Purpose |
|---|---|
| SDK events (default) | All SDK events in a time-sorted list; each has a detailed view; searchable and filterable |
| Analytics Events | Richer view of SDK events for debugging Adobe Analytics; shows events sent to Adobe Analytics from both the Edge Network SDK and the Mobile SDK |
| Analytics Edge | Analytics events sent via the Edge Network (enable the “Analytics Edge View” toggle, top-right), including events fired by the Lifecycle, Edge, and Edge Bridge extensions |
| Event Transactions | Validate and debug the Edge Network client implementation with near-real-time upstream validation; left menu → “Adobe Experience Platform Edge” section |
| SDK configuration | Browse SDK configuration |
| Data Elements | Browse data elements |
| Shared States | Browse shared states |
| SDK extension versions | Browse installed extension versions |
Both the Analytics and Analytics Edge views include validation tabs that display validation-script results, with links to errors and the problematic events. The home overview also references Places / Location Services and Streaming Media validation; confirm the full plugin list in the live Configure panel.
Event Transactions — processing-stage columns
| Column | Contents |
|---|---|
| Client-side | Events processed by the Mobile SDK, including Edge.sendEvent calls and response handles from the Edge Network server |
| Edge Network | Server-side events received via network requests, with data and metadata |
| Upstream | Events received by configured services with processing / validation details; varies by datastream configuration and event type |
Indicators: a green checkmark signals successful processing; a warning sign signals a detected issue. Selecting an event opens the Event Details panel on the right with a nested tree view expandable via the + buttons. The current datastream identifier is shown in the info tooltip next to the Edge Network column header.
Analytics Edge event-detail chain (Edge requests / track events)
Ordered sections in the detail view: Event Details → Edge Bridge Request → Datastream → Edge Hit Received → Edge Hit Processed → Analytics Hit → Analytics Mapping → Analytics Response → Post-process Data.
Post-processed status values (Analytics view)
| Values | Meaning |
|---|---|
| Queued · Processed · Delayed · Error · Unauthorized · Unavailable · No Debug Flag · Expired | Each reflects the retrieval success of post-processing information from Adobe Analytics; the docs list the values but do not define each individually |
Web SDK (Alloy) key events
| Event | Inspect |
|---|---|
| Alloy Request | The outgoing XDM object in the Raw Event payload |
| Alloy Response Handle | The ECID, by drilling into payload > 0 > payload > 0 > namespace |
Minimum versions to avoid the “No Debug Flag” error
| Platform | Adobe Analytics | Assurance |
|---|---|---|
| iOS | >2.4.0 |
>1.0.0 |
| Android | >1.2.6 |
>1.0.0 |
Export
On the session details page, select Export to JSON. The export respects active search filters: only the events currently displayed are exported, so searching “track” then exporting yields only track events. Sessions auto-delete after 30 days, so export before then to hand evidence to another engineer.
Gotchas
- QR code scan does not open the app → the QR / camera or deep-link handoff is not working on the device → open the session link directly from Session Details in the device’s browser, or on iOS 11+ scan the QR code via the Photos app.
- App will not open the session link / deep link at all → deep linking is not configured (Android App Links; iOS Custom URL Scheme or Universal Links) or
startSessionis not being invoked → verify the deep-link configuration, and note Android’sstartSessionneed not be called explicitly while iOS does requireAssurance.startSession(url:). - PIN / authentication overlay appears but the connection still fails → no device internet, the Assurance SDK is not properly installed, or the session belongs to a different ORG instance → check connectivity via a browser on the device, verify the SDK install, and confirm the session matches the link and the correct ORG.
- Analytics hits show status “No Debug Flag” and no upstream detail → Adobe Analytics and/or the Assurance SDK are below the minimum that emits the debug flag → upgrade to iOS Adobe Analytics
>2.4.0/ Assurance>1.0.0, or Android Adobe Analytics>1.2.6/ Assurance>1.0.0. - React Native build fails with “Module AEPAssurance not found” or header errors → a version mismatch between the Assurance RN plugin and the core plugin (v2.x pairs with
react-native-acpcore; v3.x requiresreact-native-aepcore) → align the versions, downgradingreact-native-aepassuranceto v2.x if still on older Mobile Core. - Exported JSON is missing events you expected → Export to JSON writes only the events currently displayed, filtered by any active search → clear the search / filter before choosing Export to JSON to capture the full session.
- An expected view (e.g. Analytics Events or Event Transactions) is missing from the left navigation → that view is not added to the session’s configured views → select Configure at the bottom-left, add the view, and select Save.
Quick recipes
Start an Assurance session on iOS from the deep-link handoff (required on iOS):
// iOS: startSession must be called explicitlyfunc scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) { guard let deepLinkURL = URLContexts.first?.url else { return } Assurance.startSession(url: deepLinkURL)}Handle the deep link on Android (startSession need not be called explicitly, but this is the hook):
// Android: Assurance resolves the session from the deep linkfun handleDeeplink(deeplink: String) { Assurance.startSession(deeplink)}Register the custom URL scheme so the OS routes the deep link to the app:
<!-- Android: scheme + host are the Assurance-relevant values --><!-- iOS equivalent: Xcode > Info tab > URL Types (e.g. lumatutorialswiftui://) --><intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="lumatutorialandroid" android:host="default" /></intent-filter>Connect a Web SDK session by pasting the copied link (Assurance appends the session id):
# Paste the Copied Link into the browser address bar.# Assurance appends adb_validation_sessionid automatically and starts the session:https://luma.enablementadobe.com/?adb_validation_sessionid=SESSION_IDFind the ECID inside an Alloy Response Handle event (drill the payload tree):
# In the Alloy Response Handle event detail, expand the Raw Event payload:payload > 0 > payload > 0 > namespacePair the React Native plugins to avoid the “Module AEPAssurance not found” build error (v3.x assurance requires aepcore; v2.x pairs with acpcore):
{ "dependencies": { "react-native-aepcore": "3.x.x", "react-native-aepassurance": "3.x.x" }}Related
Sources
Adobe Experience League pages these values were read from:
- Adobe Experience Platform Assurance overview (read 2026-07-20)
- Using Adobe Experience Platform Assurance (create / connect a session) (read 2026-07-20)
- Implementing the Adobe Experience Platform Assurance extension (read 2026-07-20)
- Event Transactions view in Assurance (read 2026-07-20)
- Adobe Analytics Events view in Assurance (read 2026-07-20)
- Adobe Experience Platform Assurance troubleshooting guide (read 2026-07-20)
- Set up Assurance for Platform Mobile SDK implementations (read 2026-07-20)
- Validate Web SDK implementations with Experience Platform Assurance (read 2026-07-20)
Flagged rather than guessed: the canonical UI overview page (view/user-interface) and a dedicated configuration page returned HTTP 404 and appear to have been reorganized, so UI details here come from the using-assurance tutorial and individual view pages; the full catalog of views / plugins is not enumerated on any single page (Places / Location Services and Streaming Media are referenced but unverified — confirm in the live Configure panel); for Web SDK, whether a PIN is ever presented is not stated (connection is via adb_validation_sessionid, not a PIN step); the exact column labels of the default SDK event list beyond “sorted by time” are not spelled out; and the Quick Connect and “No Debug Flag” minimum versions are version-sensitive — confirm against the latest SDK release notes.
Changelog
- — Initial version, verified against official documentation.