Spaces:
Sleeping
Sleeping
Commit History
-
deploy: appeals on connection checks
614ff63
-
deploy: third-party hosting/proxy flags need corroboration to block
e4646fc -
deploy: weigh the proxy flag against measured location evidence
3e85ef8
-
deploy: ip-api proxy flag is a contradiction, not a block
It returns proxy=true for AS135407, an ordinary Pakistani residential ISP, so the first real production check came back blocked. The local evidence layers were gated on !geo.proxy, meaning they were switched off exactly when the upstream flag fired and could not correct it. Re-measured: 27/27 VPN exits still caught, 0/18 false positives, that ISP now routes to review. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>5cde6ec -
deploy: campaign flow + location verification check
Ports the location-poc verification rules verbatim (27/27 VPN exits caught, 0/18 false positives, re-verified through the new endpoint) and adds the campaign flow on top: public apply page, shortlisting, invite tokens stored hashed, and the admin surface. Client IP is read via a trust-proxy HOP COUNT (TRUSTED_PROXY_HOPS, default 1) rather than trusting the whole chain — the leftmost X-Forwarded-For value is client-supplied and would defeat every network rule. If the Space turns out to sit behind more than one proxy, set TRUSTED_PROXY_HOPS accordingly: that value being wrong misjudges every candidate. New tables are created by TypeORM synchronize on boot (campaigns, campaign_candidates, campaign_application_drafts, verification_sessions), plus nullable/defaulted columns on user and interview_sessions. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>86063f3