NoeVault Snip Architecture
Authority: PR-8.7D freeze · Experience convergence PR-8.7E · Package @noevault/snap 1.1.3
System of record: SupportTicket (+ comments + evidence)
NoeVault Snip is the platform product that embeds issue reporting, screenshot evidence, and requester conversation into external and native NoeVault experiences — under a single identity and licensing model.
┌──────────────────────────┐ ┌──────────────────────────────┐
│ External app (KitchenPro)│ │ NoeVault Admin Panel │
│ - App session auth │ │ - Platform / Org operators │
│ - Trusted bootstrap BFF │ │ - SnapWorkspace / tickets │
│ - @noevault/snap host │ │ - Shared SnapScreenEditor │
└────────────┬─────────────┘ └──────────────┬───────────────┘
│ │
│ browser-safe bootstrap │ JWT / panel session
│ credentials-omit where required │
▼ ▼
┌────────────────────────────────────────────┐
│ NoeVault API │
│ SupportTickets · SnapSupport workspace │
│ Effective categories · RequireApiAuth │
└────────────────────┬───────────────────────┘
▼
┌────────────────────────────────────────────┐
│ SupportTicket SoR (comments/evidence) │
│ ExternalRequester / ExternalSubject │
└────────────────────────────────────────────┘
| Actor | Identity | UserUID | Seats / OLEA |
|---|---|---|---|
| External requester (KitchenPro user) | ExternalRequester + stable subject (KP-USER-*) |
None | None |
| Panel operator / Platform Admin | NoeUser | Yes | Normal panel licensing |
| Genuine system events | — | — | Display as System only when no user and no requester |
Empty AuthorUserUID / uploadedBy on ExternalRequester-owned tickets is correct Model B behaviour, not missing data.
See .
| Component | Role |
|---|---|
SnapScreenEditor |
Capture preview, expand/Precision workspace, zoom/fit, toolbar |
AnnotationSession |
Single annotation edit graph (undo/redo/crop/redact/shapes) |
AttachmentPicker |
Drag/drop/paste/preview/remove |
createConversationPoller |
Soft poll of ticket detail (no SignalR) |
Panel bridge snap-screen-shared-editor.js |
Mounts shared editor when UMD present |
Annotations flatten to PNG before upload. Post-submission annotation editing is not supported.
| Layer | Code | Meaning |
|---|---|---|
| Commercial product | support_snap |
Entitlement / catalogue product |
| Runtime capability | support.snap |
Capability family |
| Example grain | support.snap.report |
Reporting path used by hosts |
Solutions inherit and refine support categories. Composer options come from the effective category projection — not a parallel category store in the SDK.
See .
See .