Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Block signups from disposable email domains

Aberta
#3,008 2 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
28/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
rails, ruby
Domínio
authentication

Direção de pesquisa

Start by tracing the signup flow in planner and the magic-link request handled by auth.codebar.io to identify where an email-domain check could run. The issue leaves the check location, list source and refresh process, false-positive handling, and audit behavior open for discussion. Done means those choices are resolved and signup clearly handles blocked domains.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Background

Member 31423 is a junk signup from 23 September: gibberish profile, throwaway email [email protected], and seven chapter subscriptions (three of them coach groups in Helsinki, Berlin and West London) posted in 18 seconds. Full analysis is available on request — the short version is that the account passed every check because there are no checks:

  • The magic-link flow proves the mailbox can receive mail, and a disposable email service receives mail, so throwaway addresses complete signup normally.
  • The profile form accepts any content.
  • Chapter and group subscriptions are unlimited, including coach groups.

We checked every signup since 24 September for rare email domains and found no repeat, so this was one account rather than a campaign. The account itself is being handled separately (suspend, keep the evidence).

Proposal

Block signups from known disposable email domains. smaau.com and similar services publish their domain lists publicly, so a denylist check on the email domain at signup would have stopped this account.

Open questions for discussion:

  1. Where the check lives. The magic-link request happens at auth.codebar.io; the profile and subscription flow happens in planner. Blocking at the auth layer stops the account before it exists; a planner-side check on the details form would only stop profile and subscription completion. Doing both, or just auth, needs deciding.
  2. List source and freshness. Public disposable-domain lists are maintained by third parties. Bundle a static list and update periodically, or fetch a list at runtime. Either way we need a refresh process and a way to audit changes.
  3. False positives. A denylist can catch a legitimate personal or company domain by mistake. The signup flow should tell the user what happened and give a contact route, and the check should log the domain for review rather than failing silently.
  4. Bypass concern. Nothing stops someone using a real mailbox for junk signups. The denylist raises the cost of junk signups; it does not eliminate them. Capping subscriptions for new accounts and gating coach-group subscriptions are follow-up options if this proves insufficient.

Related

  • The members.unsubscribed column is unrelated dead schema, tracked in a separate issue.
Linguagem predominante
Ruby
Estrelas
105
Forks
206
Merge médio
19h 31min
PRs com merge (30d)
84

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de codebar/planner

Todas as issues de codebar/planner

Issues semelhantes

Mais issues de Ruby

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.