After four AdSense rejections, I did a more careful read of what the ossfind.com pages looked like to a human reviewer. The verdict: affiliate CTAs, an Amazon product widget, and "sister site" cross-links to aiappdex and findindiegame — together, they made the site read as a revenue-motivated content network rather than a standalone editorial resource. That's a rejection signal I had underestimated.
The solution was a single environment variable: PUBLIC_REVIEW_MODE=1.
What it hides
The getMonetization() function in packages/shared/src/monetization/index.ts returns an enabled object that each Astro component checks before rendering:
const reviewMode = process.env.PUBLIC_REVIEW_MODE === "1";







