{"active":[{"name":"Cloudflare","category":"active","role":"Hosting, CDN, Workers, R2 object storage, DNS.","last_verified_at":"2026-05-22T00:00:00+00:00","next_verification_at":"2026-08-20T00:00:00.000Z"},{"name":"Supabase","category":"active","role":"Postgres database, authentication, row-level security, file storage.","last_verified_at":"2026-05-22T00:00:00+00:00","next_verification_at":"2026-08-20T00:00:00.000Z"},{"name":"Airtable","category":"active","role":"Curation pipeline database. Research-respondent validation data, deck metadata, curator notes.","last_verified_at":"2026-05-22T00:00:00+00:00","next_verification_at":"2026-08-20T00:00:00.000Z"},{"name":"Hetzner","category":"active","role":"Self-hosted research database + backend hosting (image-research response collection; dedicated server in Germany, EU).","last_verified_at":"2026-07-02T00:00:00+00:00","next_verification_at":"2026-09-30T00:00:00.000Z"},{"name":"Resend","category":"active","role":"Transactional + lifecycle email delivery (magic-link, receipts, nurture, ARL reminders).","last_verified_at":"2026-05-22T00:00:00+00:00","next_verification_at":"2026-08-20T00:00:00.000Z"},{"name":"Sentry","category":"active","role":"Application error monitoring and performance tracing (Studio app + access-broker).","last_verified_at":"2026-05-22T00:00:00+00:00","next_verification_at":"2026-08-20T00:00:00.000Z"},{"name":"Google Fonts","category":"active","role":"Web font delivery (Lustria, JetBrains Mono).","last_verified_at":"2026-05-22T00:00:00+00:00","next_verification_at":"2026-08-20T00:00:00.000Z"},{"name":"Fontshare","category":"active","role":"Web font delivery (Switzer).","last_verified_at":"2026-05-22T00:00:00+00:00","next_verification_at":"2026-08-20T00:00:00.000Z"}],"controllers":[{"name":"Paddle","category":"controller","role":"Merchant of Record — checkout, payment, tax, invoicing, chargeback handling.","last_verified_at":"2026-05-22T00:00:00+00:00","next_verification_at":"2026-08-20T00:00:00.000Z"},{"name":"Prolific","category":"controller","role":"Research-participant recruitment and payment (image-research program, not the Studio product).","last_verified_at":"2026-05-22T00:00:00+00:00","next_verification_at":"2026-08-20T00:00:00.000Z"}],"last_verified_at":"2026-07-02T00:00:00+00:00","next_verification_at":"2026-09-30T00:00:00.000Z","log":[{"name":"Hetzner","category":"active","role":"Self-hosted research database + backend hosting (image-research response collection; dedicated server in Germany, EU).","last_verified_at":"2026-07-02T00:00:00+00:00"},{"name":"Supabase","category":"active","role":"Postgres database, authentication, row-level security, file storage.","last_verified_at":"2026-05-22T00:00:00+00:00"},{"name":"Airtable","category":"active","role":"Curation pipeline database. Research-respondent validation data, deck metadata, curator notes.","last_verified_at":"2026-05-22T00:00:00+00:00"},{"name":"Resend","category":"active","role":"Transactional + lifecycle email delivery (magic-link, receipts, nurture, ARL reminders).","last_verified_at":"2026-05-22T00:00:00+00:00"},{"name":"Sentry","category":"active","role":"Application error monitoring and performance tracing (Studio app + access-broker).","last_verified_at":"2026-05-22T00:00:00+00:00"},{"name":"Cloudflare","category":"active","role":"Hosting, CDN, Workers, R2 object storage, DNS.","last_verified_at":"2026-05-22T00:00:00+00:00"},{"name":"Fontshare","category":"active","role":"Web font delivery (Switzer).","last_verified_at":"2026-05-22T00:00:00+00:00"},{"name":"Paddle","category":"controller","role":"Merchant of Record — checkout, payment, tax, invoicing, chargeback handling.","last_verified_at":"2026-05-22T00:00:00+00:00"},{"name":"Prolific","category":"controller","role":"Research-participant recruitment and payment (image-research program, not the Studio product).","last_verified_at":"2026-05-22T00:00:00+00:00"},{"name":"Google Fonts","category":"active","role":"Web font delivery (Lustria, JetBrains Mono).","last_verified_at":"2026-05-22T00:00:00+00:00"}]}