Identity and session failures
- Login methods create separate customer records.
- OAuth callback domain differs from the deployed canonical domain.
- Email verification can be replayed after first use.
- Verification codes appear in logs, analytics or screenshots.
- Password reset changes credentials without invalidating old sessions.
- Role checks exist only in the browser.
- A disabled identity provider still appears as an active button.
- Account deletion detaches orders from the audit trail.
Catalog and order creation failures
- The browser supplies the authoritative price.
- Unknown SKUs can create valid orders.
- Currency and amount are not validated together.
- Quantity rules differ between product page and server.
- Two clicks create two payable orders without idempotency.
- Order reference changes between checkout and provider handoff.
- Return and callback URLs are accepted from arbitrary origins.
- Expired quotes remain payable.
Payment handoff and webhook failures
- The return page marks an order paid from a query parameter.
- Webhook signatures are not verified.
- Webhook timestamps allow unlimited replay.
- Event account or merchant ownership is not checked.
- Provider amount and currency are not matched to the order.
- Test-mode events can update live orders.
- A provider success event is processed more than once.
- The provider rail is shown before runtime credentials and callbacks are verified.
- Payment failure erases the underlying order context.
- Manual payment evidence is treated as automatic settlement proof.
Post-payment, refund and dispute failures
- Entitlement is granted before the verified success event commits.
- A refund request has no original payment reference.
- Refund retries can issue money twice.
- Dispute events are not attached to the order and customer.
- Partial refund math ignores currency precision.
- Operator overrides are not recorded with reason and actor.
- Email notice is sent before the order transaction commits.
- A failed callback is discarded instead of queued for retry.
Support, delivery and notification failures
- Support tickets cannot locate the order by verified contact.
- Robot answers expose account or payment data to an unverified user.
- Sensitive refund, security or deletion cases never escalate to humans.
- Delivery records use a different identifier from the order ledger.
- Notification retries create duplicate customer messages.
- Email From, Return-Path and authentication domains are misaligned.
- A provider outage produces a generic blank screen.
- Operators have no documented reconciliation or incident runbook.
Release, SEO and observability failures
- Canonical, sitemap and internal links point to different URL versions.
- Legacy public URLs return 200 duplicates instead of permanent redirects.
- Private order or admin pages appear in the sitemap.
- Structured data contains prices or claims not visible on the page.
- Bot protection blocks verified search or AI crawlers without review.
- Checkout starts are measured but successful order events are not.
- Deployment has no versioned rollback and no evidence path.
- Desktop passes while mobile actions overflow or become unreachable.
Primary sources and references
These links define platform behavior or security guidance. They are sources, not endorsements of TC SiteOS.
- Google Search Central: Canonical URL guidance
- Google Search Central: Build and submit a sitemap
- Google Search Central: Robots meta and data-nosnippet
- Google Search Central: Structured data introduction
- OpenAI: GPTBot, OAI-SearchBot and ChatGPT-User
- Perplexity: crawler documentation
- Bing Webmaster Tools: IndexNow
- Schema.org: Service
- Schema.org: BreadcrumbList
- OWASP: Authentication Cheat Sheet
- Stripe: Webhook documentation
