🐕 Pointer Back to home

Data & self-hosting

Effective date: 2026-09-12

Pointer stores feedback about UI elements, not your users' data. Nothing is sent to the server until a signed-in stakeholder clicks an element and submits a comment.

Overview

When teams use Pointer to report visual defects or request UI changes, Pointer collects only the technical element and layout context required for developers and AI agents to locate and modify code. This document details the exact data schema captured, privacy controls, storage boundaries, and self-hosted deployments.

What a comment contains

Each submitted comment generates an ElementCapture payload containing technical identifiers of the target element. Child subtrees and parent DOM trees are not included:

FieldFormat / LimitDescription
selectorStringDeterministic CSS selector path to locate the element in the DOM.
snapshotTag, attrs ≤ 120 chars, text ≤ 160 charsOpening tag of clicked element with trimmed text; child subtrees excluded.
classesArray of stringsList of CSS class names applied to the clicked element.
computedStylesKey-value mapResolved values for color, font size, margins, padding, and layout properties.
appliedCssRulesArray (≤ 6 rules)Matched author stylesheet rules with compound or descendant selectors.
sourcePathPath, or emptyComponent file path from source build attributes or framework internals; empty when neither is available.
parentInfoTag, classes, IDDirect parent element tag name, class list, and ID attribute.
pageUrl / route / pageTitleURLs / StringsFull URL, normalized routing path, and the document page title.
viewportWidth / viewportHeightIntegers (CSS px)Window viewport width and height at the moment of capture.
deviceTypemobile | tablet | desktopDevice classification derived from the viewport width.
devicePixelRatioFloatScreen pixel ratio to distinguish standard and HiDPI/Retina displays.
userAgentStringBrowser user-agent string to reproduce browser-specific styling issues.
screenshotUrlURL (optional)Optional image uploaded only when the author enables screenshot capture.

Each comment record also contains the comment text authored by the stakeholder, the active environment tag (local, staging, or production), the authenticated author's account identifier, and any follow-up replies.

What is never captured

Pointer is engineered specifically for UI annotations and element inspection. The following data categories are never captured by the widget or extension:

Opt-in extras

Two optional diagnostic capabilities exist on a strict opt-in basis:

Controls & deployment guards

Engineering teams have complete control over widget activation:

Where it lives: Hosted vs. Self-hosted

Pointer is designed with a strict client-server boundary, allowing organizations to run Pointer either as a managed cloud service or self-hosted entirely within their own infrastructure:

ComponentHosted ServiceSelf-Hosted Instance
Feedback WidgetRuns in client browser; connects to hosted APIRuns in client browser; connects to your internal API
API & DatabaseManaged cloud instanceYour own servers and PostgreSQL database
Screenshots & BlobsLocal filesystem storage (Docker volume)Local filesystem storage (Docker volume)
Developer CLI & MCPRuns locally on developer workstationRuns locally on developer workstation

Retention & deletion

Feedback comments and projects are retained until deleted by an author or workspace administrator.

Deleting a comment or project hides it everywhere immediately. Under the hood, deleting a comment or a project is a soft delete: the records are stamped with DeletedAt and disappear from all active views, queries, APIs, and exports.

However, the underlying database rows and any uploaded screenshot files remain in storage; a screenshot file is physically deleted only when its author removes the image via edit. Physical purge of deleted records and their screenshot files (and automatic expiry after your plan's retention period) is on our roadmap; until then, contact us for a manual purge.

Plan-specific retention durations (RetentionDays) are available on request for custom enterprise configurations.

Security & workspace isolation

Pointer implements defense-in-depth security across all architectural layers:

Questions & resources

For security questions, privacy inquiries, or manual data purge requests, please contact moamen.ui@gmail.com.

You can also review our legal Privacy Policy or explore our technical Documentation.