{
  "generatedAt": "2026-07-05T05:33:54.037Z",
  "scope": "Teresa te-intro: registration visibility, anti-abuse, two-phase verification, application registration path",
  "safeMode": "read-only browser/config/code inspection; no account creation; no form submit; no file upload",
  "routes": {
    "login": "https://solcom.ddev.site/projektportal/login",
    "registration": "https://solcom.ddev.site/projektportal/registrieren",
    "application": "https://solcom.ddev.site/fuer-freiberufler/projektliste/mechanical-design-engineer-mwd/bewerben",
    "watchlistApplyNoIds": "https://solcom.ddev.site/projektportal/merkliste/bewerben"
  },
  "browserFindings": {
    "login": {
      "title": "Anmeldung | SOLCOM",
      "h1": "IM PROJEKTPORTAL ANMELDEN",
      "visibleForgotPassword": true,
      "visibleRegistrationLink": {
        "text": "Hier registrieren",
        "href": "/projektportal/registrieren"
      }
    },
    "registration": {
      "title": "Projektpartner registrieren | SOLCOM",
      "h1": "",
      "formCount": 1,
      "hasVisibleVerificationCopy": true,
      "hasVisibleCaptcha": false,
      "hasHoneypotField": true,
      "requiredFields": [
        "salutation",
        "first_name",
        "last_name",
        "email",
        "mobile",
        "password[pass1]",
        "password[pass2]",
        "street",
        "house_number",
        "postal_code",
        "city",
        "country",
        "privacy_consent",
        "terms_consent"
      ],
      "observedValidationRisks": [
        "country select includes broad global country list including Anguilla; no visible country whitelist",
        "phone/mobile use type=tel but no visible country-code requirement in the UI",
        "no visible fake-email or email-domain verification before submit; double opt-in happens by email verification after submit"
      ],
      "legalLinksStillRisky": [
        "/datenschutz-und-nutzungsbedingungen",
        "/datenschutz-und-nutzungsbedingungen#anker-nutzungprojektportal"
      ]
    },
    "application": {
      "title": "Auf Projekt bewerben | SOLCOM",
      "h1": "AUF PROJEKT BEWERBEN",
      "visibleGuestApply": true,
      "visibleLoginLink": {
        "text": "Einloggen und bewerben",
        "href": "/projektportal/login?destination=/fuer-freiberufler/projektliste/mechanical-design-engineer-mwd/bewerben"
      },
      "visibleRegisterLink": {
        "text": "Registrieren",
        "href": "/projektportal/registrieren?destination=/fuer-freiberufler/projektliste/mechanical-design-engineer-mwd/bewerben"
      },
      "hasOptionalAccountPasswordFields": true,
      "hasVisibleVerificationCopy": true,
      "hasVisibleCaptcha": false,
      "phoneRequired": true,
      "mobileRequired": false,
      "termsConsentRequiredOnlyWhenAccountPasswordSet": "not submitted; fields visible but unchecked"
    },
    "watchlistApplyNoIds": {
      "title": "Für alle Projekte bewerben | SOLCOM",
      "h1": "FÜR ALLE PROJEKTE BEWERBEN",
      "formCount": 0,
      "text": "Keine aktuell verfügbaren Projektangebote in Ihrer Merkliste.",
      "visibleLoginOnlyInHeader": true,
      "visibleRegisterGate": false,
      "assessment": "empty state is understandable, but still no explicit login/register gate for an anonymous apply-all URL without ids"
    }
  },
  "codeAndConfigEvidence": {
    "userSettings": {
      "register": "admin_only",
      "verify_mail": true
    },
    "projektpartnerRegistrationWebformStatus": "open",
    "registrationSubmitter": {
      "createsBlockedUser": true,
      "blockedStatus": 0,
      "assertsPasswordPolicyBeforeCreate": true,
      "sendsVerificationMail": true,
      "doesNotPersistPlainPasswordIntoQueue": true
    },
    "mailManager": {
      "sendsDoubleOptInVerification": true,
      "verifyAccountActivatesOnlyAfterValidHash": true,
      "redirectsVerifiedAccountToLogin": true,
      "sendsWelcomeOneTimeLoginAfterActivation": true
    }
  },
  "mailpit": {
    "total": 9,
    "count": 1,
    "messages_count": 9,
    "unread": 0
  },
  "browserRuntime": {
    "consoleLines": 0,
    "pageErrors": 0
  },
  "assessment": {
    "status": "teilweise behoben",
    "releaseRisk": "medium-high",
    "summary": "Registration is no longer completely hidden: login and project application expose registration links, and the custom flow creates blocked accounts with email verification. Teresa's anti-abuse concern is only partially answered: there is double opt-in after submit, but no visible CAPTCHA/fake-address validation before submit, phone country-code requirements are not visible, registration route still has no H1, and anonymous watchlist apply without ids has no explicit login/register gate."
  },
  "screenshots": [
    {
      "name": "registration-readonly-login-2026-07-05.png",
      "path": "docs/reports/assets/2026-07-04-jan-kroeger-dogfood/continuation/registration-readonly-login-2026-07-05.png",
      "exists": true,
      "bytes": 156671
    },
    {
      "name": "registration-readonly-register-top-2026-07-05.png",
      "path": "docs/reports/assets/2026-07-04-jan-kroeger-dogfood/continuation/registration-readonly-register-top-2026-07-05.png",
      "exists": true,
      "bytes": 155537
    },
    {
      "name": "registration-readonly-application-form-2026-07-05.png",
      "path": "docs/reports/assets/2026-07-04-jan-kroeger-dogfood/continuation/registration-readonly-application-form-2026-07-05.png",
      "exists": true,
      "bytes": 188535
    },
    {
      "name": "registration-readonly-watchlist-apply-empty-2026-07-05.png",
      "path": "docs/reports/assets/2026-07-04-jan-kroeger-dogfood/continuation/registration-readonly-watchlist-apply-empty-2026-07-05.png",
      "exists": true,
      "bytes": 120263
    }
  ]
}
