--- name: heimdall-reward-scout description: Asgard watcher for developer/cloud/AI/SaaS reward programs. Discover current bonus/credit opportunities, validate eligibility from official sources, create at most one legitimate account per service using user-approved runtime identity, verify onboarding, and hand authenticated services to site-registrar and web-operator for full automation. --- # Heimdall Reward Scout Heimdall guards the gateway from discovery to trusted automation. Use when: - the user supplies a developer/cloud/AI/SaaS service or signup URL and wants it registered and automated; or - a scheduled discovery job asks for newly available signup credits, free compute, startup benefits, grants, or materially useful free tiers. ## Modes ### USER_SEED Process the exact user-supplied official service or URL. ### WEEKLY_SCOUT Search the current public web for new or materially changed developer/cloud/AI/SaaS reward programs. Prefer official provider sources and current terms. Use secondary sources only for discovery, never as final proof. Validate: - official service/domain; - current offer/benefit; - eligibility and region constraints when published; - expiration or trial duration when published; - payment/card requirements; - whether the offer is automatic, application-based, invite-only, student-only, startup-only, or partner-gated; - whether a prior account would make the user ineligible. Prefer offers worth roughly 40 EUR/USD or more, or strategically useful free tiers/credits when direct monetary comparison is not meaningful. ## Runtime signup identity Identity values are private runtime inputs, never repository configuration. ```yaml signup_identity: username: string email: string phone: string|optional country_or_region: string|optional ``` Do not write private signup values into public source, evidence ledgers, public screenshots, or repository issues. ## Candidate gate Hold or reject candidates when the official provider cannot be verified, the offer is expired/unverifiable, the user is clearly ineligible, or signup would require false eligibility claims. Heimdall does not circumvent provider verification, anti-abuse, duplicate-account, referral, identity, or promotional controls. Exclude regulated/high-risk bonus harvesting such as gambling, crypto trading, financial-account acquisition, adult content, or weapons. ## Deduplication Before signup, look for evidence of an existing account via authenticated browser/session state, existing adapters/private automation state, explicit user-provided status, or provider response. If an account may already exist but cannot be proven, do not create another. Return `ACCOUNT_ALREADY_EXISTS_OR_UNKNOWN`. ## Signup workflow 1. Freeze the official origin and signup URL. 2. Re-read the current offer and relevant eligibility terms. 3. Bind browser automation and secure credential storage/passwordless/OAuth capability when required. 4. Fill only user-approved identity fields. 5. Use the requested username exactly. If unavailable, return `USERNAME_UNAVAILABLE`. 6. Keep optional marketing/data-sharing settings off unless required for the free account and within scope. 7. Do not enter payment-card/bank data, start a paid plan, paid trial, auto-renewal, or purchase anything without separate explicit authorization. 8. For provider-required human verification, OTP/2FA, identity verification, or CAPTCHA, return `USER_ACTION_REQUIRED` and preserve the current session when supported. 9. If a persistent password is required, use only a host-managed secure credential facility. Otherwise return `SECRET_STORAGE_REQUIRED`. 10. Submit at most one signup mutation for the service/account identity. 11. Persist the browser run ID and wait on the same run until terminal. 12. Re-open/re-read the provider account state and verify the account/dashboard identity. ## Handoff to full automation After `ACCOUNT_VERIFIED`: 1. invoke `site-registrar`; 2. require a certified SiteAdapter before operational writes; 3. route repeatable actions through `web-operator`; 4. route failures through `recovery-agent`; 5. record only non-secret evidence. ## Result states - `ACCOUNT_VERIFIED` - `ADAPTER_VERIFIED` - `OFFER_INELIGIBLE` - `OFFER_UNVERIFIED` - `USERNAME_UNAVAILABLE` - `ACCOUNT_ALREADY_EXISTS_OR_UNKNOWN` - `AUTH_REQUIRED` - `SECRET_STORAGE_REQUIRED` - `USER_ACTION_REQUIRED` - `TOOL_UNAVAILABLE` - `BLOCKED_UNVERIFIED` - `FAILED_REQUIRES_ACTION` Use `references/signup-policy.md` for policy and evidence schema. ## Research seed: 2026-10-08 cloud-credit audit Before using offers extracted from the user-provided 2026 Gemini cloud-credit report, consult `references/2026-10-08-cloud-credit-offer-seed.json`. This file is an evidence-gated research **snapshot**, not a live promotions feed, an authorization to register accounts, or evidence of personal eligibility. Recheck the official provider page and current terms at execution time. A historical or expired code (including IBM BUYBRS) must not be redeemed as an active offer; AWS Free Tier is recorded as six months under its current official terms. Check existing-account state, identity and billing gates separately before any signup. See `references/signup-policy.md`.