Open product methodology
Know exactly what the result means.
FeedGuardrail exposes its release identity, deterministic rule coverage, processing boundaries, and evidence format so a result can be inspected instead of taken on faith.
Processing model
From file to actionable report
1
Read locally
Your selected feed is read in browser memory. The file is not sent to FeedGuardrail.
2
Normalize safely
Headers and supported CSV, TSV, RSS/XML, and Atom/XML records are converted into a consistent local model.
3
Run versioned rules
The google-merchant-local-2026-08-28.1 ruleset evaluates product rows and cross-feed relationships deterministically.
4
Export deliberately
Corrections, client summaries, and optional evidence packs are generated as local downloads.
Supported inputs: CSV, TSV, RSS/XML, Atom/XML · up to 100,000 product rows and 25 MB per selected file.
Rule catalog
23 deterministic checks
Every finding includes a stable rule ID, severity, affected field, source row, explanation, and recommended correction.
required-id
Missing product ID
id
product row
Missing product ID
Products without a stable identifier.
required-title
Missing title
title
product row
Missing title
Products that cannot be identified by a title.
title-limit
Title exceeds 150 characters
title
product row
Title exceeds 150 characters
Titles beyond the supported length.
title-front-load
Title may hide important details
title
product row
Title may hide important details
Long titles whose useful attributes may be truncated in placements.
required-description
Missing description
description
product row
Missing description
Products without a description.
description-limit
Description exceeds 5,000 characters
description
product row
Description exceeds 5,000 characters
Descriptions beyond the supported length.
required-link
Missing landing-page link
link
product row
Missing landing-page link
Products without a destination URL.
invalid-link
Invalid landing-page URL
link
product row
Invalid landing-page URL
Destination values that are not complete HTTP or HTTPS URLs.
required-image
Missing primary image link
image_link
product row
Missing primary image link
Products without a primary image URL.
invalid-image
Invalid image URL
image_link
product row
Invalid image URL
Image values that are not complete HTTP or HTTPS URLs.
availability-enum
Missing or unsupported availability
availability
product row
Missing or unsupported availability
Availability values outside the supported channel vocabulary.
availability-date-required
Missing availability date
availability_date
product row
Missing availability date
Preorder or backorder products without an availability date.
price-format
Missing or invalid price
price
product row
Missing or invalid price
Prices without a positive amount and three-letter currency code.
sale-price
Invalid sale price
sale_price
product row
Invalid sale price
Sale prices with a mismatched currency or an amount not below regular price.
condition-enum
Unsupported condition
condition
product row
Unsupported condition
Submitted conditions outside the supported vocabulary.
identifier-boolean
Unrecognized identifier_exists value
identifier_exists
product row
Unrecognized identifier_exists value
Ambiguous boolean values for identifier handling.
identifier-incomplete
Product identifiers look incomplete
gtin / brand / mpn
product row
Product identifiers look incomplete
Products missing the expected identifier combination.
invalid-gtin
Malformed GTIN
gtin
product row
Malformed GTIN
GTINs with an unsupported length or failed check digit.
duplicate-id
Duplicate product ID
id
whole feed
Duplicate product ID
A product ID used by more than one row.
case-variant-id
Product IDs differ only by casing
id
whole feed
Product IDs differ only by casing
IDs that become ambiguous when case is ignored.
mixed-currency
Multiple currencies in one feed
price
whole feed
Multiple currencies in one feed
Catalogs that may contain accidentally combined regional prices.
single-variant-group
Variant group contains one product
item_group_id
whole feed
Variant group contains one product
Variant groups with no sibling products.
duplicate-variant
Duplicate variant attributes
item_group_id / variant fields
whole feed
Duplicate variant attributes
Products in one group that share the same variant signature.
Reproducible evidence
A comparison record another person can rerun.
Regression Guard records the exact input-file SHA-256 hashes, ruleset version, resolved and introduced findings, and inventory/schema changes. The recipient can load that evidence with both exact files and reproduce the outcome locally.
Exact inputs
Two SHA-256 hashes bind the record to the original and corrected file bytes.
Stable method
The evidence names the exact versioned ruleset used for the comparison.
Privacy minimized
Filenames and product IDs are excluded by default; feed rows and values are never embedded.
Evidence proves file identity and reproducibility only. It is not a digital signature, certification, authorship proof, or guarantee of Google approval.
Honest boundaries
What local checks cannot prove
- Landing-page price or availability parity
- Live image crawlability or image-content policy
- Merchant Center account, policy, or diagnostics state
- Approval, traffic, revenue, or advertising performance
Inspect it, then use it.
Run the built-in samples before selecting a real feed. No account or ad-platform connection is required.