Confiança e segurança

Registo de fraude e controlos

Publicamos os vetores de abuso que identificámos e o que fazemos quanto a cada um. É um documento vivo — atualiza-se à medida que lançamos reforços.

Chargeback after dossier delivery

Parcial

Vetor

Buyer purchases dossier, downloads PDF, then disputes the charge as 'service not received' — claiming the receipt never arrived.

Mitigação

Every dossier render and PDF download is logged with timestamp + IP + user-agent. Stripe webhook listens for chargeback events; we auto-submit the delivery log + IP-geo + signed-in user as compelling evidence (Reason Code 13.1 — credit not processed / friendly fraud).

Investor-plan credential sharing

Em espera

Vetor

One €99/mo subscription used by a whole buyer-broker office or 20-person agency, undermining unit economics.

Mitigação

Soft rate-limit dossier generation per account/IP (Upstash). Hard-cap implemented post-launch via concurrent-session detection in Supabase auth + fingerprint hashing. Agency pricing tier announced if abuse detected.

Card-testing via /upgrade

Parcial

Vetor

Bot probes /upgrade with stolen card numbers in a $1-€49 sweep to find live cards.

Mitigação

Rate-limit /api/checkout (5/min/IP, hard 20/hr). Stripe Radar default rules cover BIN-velocity + CVC-mismatch + repeated-decline. Add reCAPTCHA Enterprise on checkout when bot ratio exceeds 5%.

Bad-actor solicitor lists fictional properties

Documentado

Vetor

Fake solicitor profile lists properties they don't represent, harvests buyer-intro leads, then disappears.

Mitigação

Manual editorial review of every listing (24h SLA) during MVP. Post-launch: solicitor must complete bar-number verification + recent practising certificate upload + counter-signature from existing verified peer. Listing-to-close conversion ratio tracked; listings <10% are flagged for review.

Impersonating a verified firm

Documentado

Vetor

Attacker registers using a real solicitor firm's bar number from public register.

Mitigação

Sign-up requires a verification email sent to the firm's domain (DNS MX-validated, no Gmail/Hotmail). Bar-number is cross-referenced against the country bar association's public register (England Bar Council, Ordem dos Advogados, Colegio de Abogados, Conseil National des Barreaux, Türkiye Barolar Birliği).

Server-side request forgery via /api/analyse URL parameter

Aplicado

Vetor

Attacker submits an internal-network URL (http://169.254.169.254, http://localhost) to extract metadata from cloud services.

Mitigação

lib/geocode.ts PORTAL_ALLOWLIST hard-codes hostnames (rightmove.co.uk, idealista.com, seloger.com, imovirtual.com, sahibinden.com, …). Any URL not on the allowlist returns 422 before any fetch is initiated.

Prompt injection via scraped listing content

Aplicado

Vetor

Malicious og:title or og:description on a listing page contains 'Ignore previous instructions and …' attempting to alter the Gemini prompt.

Mitigação

Scraped strings are escaped, length-capped (1000 char), and wrapped in delimited [USER_INPUT] blocks in the prompt. System prompt explicitly instructs Gemini to treat the input as untrusted data, not instructions.

Concierge deposit laundering

Documentado

Vetor

Buyer pays €699 deposit with card A, requests refund to card B — using us as a money-laundering mixer.

Mitigação

Hard rule via Stripe Refunds API: refund must return to original payment method. No alternative-payee refunds. AML check (proof of funds) on deposits >€10k. Concierge customer must complete identity verification (Stripe Identity) before deposit is accepted.

Encontrou um vetor que não cobrimos?

Escreva para security@outpost.tools. Recompensa por divulgação responsável: 50–1.000 $ consoante a gravidade.