TestDino collects data for test execution management, result analytics, CI/CD integration, and platform administration. This page lists every data category.
Quick Reference
Category Description Team & Administration User profiles, authentication, account status Organization Data Org profiles, members, roles, invitations Source Attribution UTM parameters, ad tracking, referrers Test Results Run metadata, test cases, steps, flaky tests Artifacts Screenshots, videos, traces, logs CI/CD Environment Git, PR, pipeline, system, sharding metadata Third-Party Integrations GitHub, Jira, Linear, Asana, Slack, Monday.com Billing Plans, usage, payments, invoices
Team & Administration
Data collected during registration, authentication, and account management.
Data Point Purpose Email address Account identification, login, notifications First name, last name Display name across the platform Profile picture URL User avatar Password Authentication (bcrypt hashed, 12 salt rounds, never stored in plaintext) Google OAuth ID SSO authentication via Google Auth provider Tracks authentication method: email, google, or both Last login timestamp Security auditing and session management Email verification status Account verification compliance Terms accepted at GDPR: records when user accepted terms Policy version GDPR: records which privacy policy version was accepted Access IP addresses Rate limiting, security monitoring, audit trails Failed login attempts Account lockout (locks after 5 failed attempts for 30 minutes)
Organization Data
Data Point Purpose Organization name, description Identification Logo URL Branding (stored in Azure Blob Storage) Website URL Organization profile Owner job role Onboarding context Industry Onboarding context Team size Capacity planning (1, 2-10, 11-50, 51-100, 101-250, 250+) Member list Access control: user ID, role, invite timestamp, join timestamp Member roles RBAC: org_owner, org_admin, org_member, org_billing, org_viewer Pending invites Email, role, invitation timestamp for unaccepted invitations External member access Time-limited access for external collaborators (default 30 days, max 365 days) Ownership transfer history Audit trail for ownership changes
Source Attribution
Collected during registration for marketing attribution. Stored in the user profile.
Data Point Purpose UTM parameters utm_source, utm_medium, utm_campaign, utm_term, utm_contentAd tracking IDs gclid (Google), fbclid (Facebook), ad_group, keyword, placement, creativeReferrer URL Traffic source attribution Entry/exit path User journey tracking Session ID Attribution session correlation Landing page variant A/B test tracking Tracking version Attribution schema version for backward compatibility
Test Results
Data collected when test runs are submitted via the TestDino reporter.
Run-Level Data
Data Point Purpose Run counter Unique sequential identifier per project Status pending, running, completed, failed, cancelled, interruptedStart/end timestamps Duration calculation and timeline display Total duration Performance tracking Test statistics Total, passed, failed, skipped, flaky, timed out, interrupted counts Total attempts Retry tracking Custom tags User-defined categorization
Test Case Data
Data Point Purpose Test title Identification Test status Pass/fail/skip result Duration Performance measurement Attempts count Retry tracking File location Source file path, line number, column number Tags User-defined categorization
Test Steps
Data Point Purpose Step title Identification Step category hook, fixture, pw:api, test.stepDuration Performance measurement Location File path, line, column Parent step reference Nested step hierarchy Error details Error message, stack trace, location, code snippet Annotations Type and description metadata
Flaky Test Data
Data Point Purpose Flaky test identifiers Tests that failed then passed on retry Retry count before passing Flakiness severity measurement Error categorization assertion failure, element not found, timeout, network, other
Artifacts
Test artifacts uploaded during execution.
Artifact Type Storage Purpose Screenshots Azure Blob Storage Visual test evidence and debugging Video recordings Azure Blob Storage Test execution replay Playwright traces Azure Blob Storage Step-by-step execution debugging Console output / logs Azure Blob Storage Runtime log inspection Inline attachments MongoDB (base64-encoded) Small embedded test artifacts
Storage path format: {projectId}/{testRunId}/{artifactType}/
Access is controlled via time-limited SAS tokens (48-hour expiry) with least-privilege permissions.
CI/CD Environment Data
Metadata collected from the CI/CD environment where tests run.
Version Control (Git)
Data Point Purpose Commit hash (SHA) Unique commit identification, indexed for lookup Commit message Context for the change being tested Commit author name Attribution Commit author email Attribution Commit author ID GitHub user ID for deduplication Commit timestamp Timeline tracking Branch name Environment mapping, filtering Repository name and URL Source identification
Pull Request Data
Data Point Purpose PR ID Unique identification PR title Context display PR URL Link back to source PR status open, draft, ready_for_review, changes_requested, approved, merged, closed
CI Pipeline Data
Data Point Purpose CI provider GitHub Actions, GitLab CI, Jenkins, CircleCI, etc. Pipeline ID Unique pipeline identification Pipeline name and URL Display and linking Build number Build identification Trigger type manual, push, pull_request, scheduledEnvironment name and type production, staging, dev classification
Data Point Purpose Hostname Runner identification CPU count and model Hardware profiling Memory Resource capacity Operating system Platform identification Node.js version Runtime version Playwright version Framework version
Test Framework Configuration
Data Point Purpose Framework name and version Compatibility tracking Config file path Project configuration reference Root/test directories Project structure Timeout, retries, workers Execution settings Parallelization settings Concurrency configuration Browser settings Name, viewport, headless mode, trace/screenshot/video config Project configurations Per-project overrides
Data Point Purpose Shard count Total shards expected Received/completed shards Progress tracking Per-shard status and timing Individual shard monitoring Per-shard statistics Distributed test result aggregation
Third-Party Integrations
TestDino integrates with external services for CI/CD workflows, issue tracking, and notifications. Access is scoped to minimum required permissions.
GitHub
Access Scope Details Installation ID App installation identification Repository access Repository ID, name, full name, privacy status PR comments Posts test result summaries on pull requests (configurable per branch) Commit status comments Posts status on commits (configurable) CI checks Pass rate threshold (default 90%), mandatory tags, flaky handling (strict/neutral) Push webhooks Receives push events (verified via X-Hub-Signature-256) Repository data No source code access. Limited to metadata and status posting.
Jira
Access Scope Details Connection type User-level personal API tokens Access Issue creation from test failures Data stored Access token, refresh token (encrypted), token expiry, workspace ID
Linear
Access Scope Details Connection type User-level personal tokens Access Issue tracking from test failures Data stored Access token, refresh token (encrypted), token expiry
Asana
Access Scope Details Connection type User-level personal tokens Access Task creation from test failures Data stored Access token, refresh token (encrypted), token expiry
Slack
Access Scope Details Connection type Webhook URLs and/or OAuth-based Slack App Access Posts test failure notifications to configured channels Data stored Webhook URL, OAuth tokens (encrypted), workspace/channel IDs
Monday.com
Access Scope Details Connection type Board-level integration Access Workflow item creation from test events Data stored Access token (encrypted), board ID, workspace ID
Razorpay (Billing)
Access Scope Details Connection type Server-to-server webhooks Access Payment events only (charged, failed, cancelled) Verification Webhook signature verification Data stored Payment ID, subscription ID, amount, currency, status
No raw card data is stored. All payment processing is handled by Razorpay.
Billing & Subscription Data
Data Point Purpose Plan tier free, pro, team, enterpriseBilling cycle monthly, annualSubscription status active, trialing, paused, cancelled, cancelling, pending_cancellationBilling email Invoice delivery Last payment date Payment tracking Usage metrics Executions used, per-project allocations, borrowed/lent amounts Usage alert thresholds Notifications at 50%, 75%, 90%, 100% Payment records Razorpay payment ID, amount, currency, status Invoices Invoice number, amount, tax, status, issue/due/paid dates
What TestDino Does NOT Collect
Source code or repository contents
Raw credit card numbers or banking details (handled by Razorpay)
Personal browsing history outside of TestDino
Data from services beyond the integrations listed above
Learn how data is redacted and how long it is retained.
Data Redaction How secrets are detected and removed from artifacts
Data Retention Retention periods by tier and data category