Shopify app security / Evidence guide
How to Reconstruct a Shopify App Incident Timeline from Logs
Reconstruct a Shopify app incident timeline by collecting relevant records, preserving original timestamps and correlating events across your own systems. Separate event time, detection time and response time. Label uncertainty when records are incomplete. Shopify dashboard logs can help with investigation, but they do not necessarily capture every request, data access or event needed to establish the incident’s full history.
Choose the questions before collecting everything
State the questions the timeline needs to answer: when suspicious behavior began, how it was detected, which components were involved and what changed during containment. This keeps collection focused and reduces unnecessary handling of merchant data. Identify relevant application, reverse-proxy, cloud, authentication, deployment and monitoring records. The exact sources depend on your architecture and the issue reported.
Record the coverage and retention of each source. A dashboard view may show selected operational events rather than a complete access history. Shopify’s monitoring guidance describes alerts, severity and log filtering; treat those as useful signals alongside your own records. Do not assume that the first visible alert is the beginning of the incident or that an empty filtered view establishes that nothing happened.
Preserve timestamps and normalize carefully
Keep an original copy of each collected record and its timestamp representation. For analysis, choose a common timezone and document the conversion. Record whether a source used UTC, a local timezone or an offset, and whether its clock reliability is known. Avoid silently changing dates in screenshots or exports. Timestamp precision matters when several events occur within the same minute.
Distinguish a request timestamp from processing, queue, delivery and log-ingestion timestamps. An event recorded later may have occurred earlier, and retries can make a single logical action appear several times. If clock skew is suspected, describe it and use other evidence to establish ordering. A precise-looking spreadsheet is not reliable unless the time interpretation is supported by the sources.
Correlate events without exposing secrets
Use request identifiers, internal job references, deployment identifiers and authorized store mappings where available. Keep any mapping containing merchant identifiers restricted. Do not place access tokens, session secrets or raw customer records in the timeline simply because they appeared in a log. Redact working copies while preserving necessary correlation through a controlled reference.
For webhook-related investigation, compare your app’s receipt and processing records with the delivery information available for the relevant integration. Repeated delivery, delayed processing and application errors can produce different sequences. Do not treat the arrival of a webhook as proof that your business action completed successfully. Confirm the action using the records that actually represent the change, and label unsupported steps as unknown.
Separate observation, interpretation and response
Give each timeline entry an event description, source reference and confidence or qualification. “Authentication failure recorded” is an observation; “attacker attempted account takeover” is an interpretation that may need more evidence. Keep both when useful, but distinguish them clearly. The same caution applies to data-access claims: a request log may not establish the response contents or whether a record was successfully retrieved.
Add containment and remediation milestones with their own evidence. Record who authorized a change, the deployed version and when the team verified its effect. Preserve the distinction between disabling an endpoint, deploying an authorization fix and independently retesting that fix. A reviewer should be able to understand the sequence without assuming every operational change immediately resolved the original vulnerability.
Work with missing or contradictory records
Create explicit gaps for missing intervals, expired logs and systems without sufficient instrumentation. Explain which conclusions those gaps limit. Do not extrapolate a complete incident window from a small sample without qualification. If two sources disagree, retain both observations and investigate the difference rather than deleting the inconvenient record to produce a neat narrative.
Record the basis for the earliest and latest confirmed events separately from the suspected window. Where impact cannot be established, describe what evidence is available and what further work is possible. Current penetration testing may reproduce a weakness, but it cannot automatically prove how that weakness was used in the past. This boundary is important when both an Incident Report and independent VAPT are requested.
Turn the timeline into a useful report appendix
Keep the report’s main timeline concise and reference a controlled detailed appendix where needed. Explain the source coverage, timezone convention and confidence terms before presenting conclusions. Link containment and corrective actions to their evidence references. Have the technical owner review the sequence against the incident record, deployment history and submitted report version.
Scantra can discuss a scoped review of available incident evidence alongside independent Shopify app VAPT and remediation verification. Begin with the notice and a summary of the records you have, not an unrestricted archive. Evidence-led documentation can make the response clearer, but cannot guarantee that Shopify considers it sufficient or relists the app. Follow the requested governance channel and keep unverified conclusions explicitly qualified.
Your working checklist
- Define the timeline’s investigation questions.
- Record source coverage and retention.
- Keep original timestamp values.
- Document timezone and clock assumptions.
- Use controlled correlation references.
- Separate observations from interpretations.
- Record detection and response times separately.
- State evidence gaps and their impact.
Sources and limits
Platform facts are grounded in the sources below. The working examples and checklists are Scantra’s guidance, not official Shopify templates or universal requirements. No private client reports are reproduced. Follow your own notice and current platform documentation; this is not legal advice or an approval guarantee.







































