webzap/jobs código fuente
$ webzap-jobs --describe-your-dream-job

Empleos senior en tecnología y producto en toda Europa.

Para profesionales con experiencia en ingeniería, datos, producto, diseño y DevOps: de Lead a Staff, Principal o Head of. Describe el puesto que buscas, en remoto o presencial, y WebZap Jobs te envía por email las ofertas abiertas que encajan, a diario o cada semana. Sin cuenta, sin perfil, sin subir el CV.

describe tu trabajo ↓

↳ gratis y de código abierto – lee qué hacemos con tus datos · mira un email de ejemplo

Esto es 100 % gratis. Tu texto se usa para una sola cosa: enviarte por email ofertas de empleo a tu medida.

Nunca vendemos ni compartimos tus datos: es una calle de sentido único. Para que esto siga siendo gratis, las empresas pueden pagarnos por incluir su oferta en nuestros emails, y algunos enlaces llevan a buscadores de empleo colaboradores que nos pagan por clic. Ambos se identifican siempre claramente («Patrocinado», «Enlace de colaborador») y ninguno recibe jamás tu dirección de email ni lo que escribiste. Cada email incluye un enlace para cambiar la frecuencia, pausar los envíos o borrarlo todo: un clic, cuando quieras.

✓ gratis para siempre✓ sin cuenta✓ sin cookies✓ cifrado en reposo✓ código abierto

Lo que podría llegar a tu bandeja de entrada

Ejemplos ficticios, no son ofertas abiertas ahora mismo. Ver el email de ejemplo completo →

~/webzap-jobs — nueva búsqueda

Menciona tu ámbito, tus intereses, tu último puesto, dónde vives, si quieres teletrabajo o no, tus expectativas salariales, lo que no quieres: todo lo que tengas en la cabeza. Puedes escribir en cualquier idioma. ¡Escribe sin filtro!

!No introduzcas tu nombre ni otros datos personales (teléfono, dirección, nombres de empleadores que quieras mantener en privado, salud, etc.). Solo necesitamos lo que describe tu búsqueda de empleo.

Solo lo usamos para enviarte ofertas que encajan y los enlaces para gestionar tu inscripción.

cómo funciona

  1. describeEscribe libremente lo que buscas. No hace falta que esté ordenado.
  2. confirmaHaz clic en el enlace del email que te enviamos. Las inscripciones sin confirmar desaparecen a las 48 h.
  3. recibeRecibe ofertas abiertas que encajan, a diario o cada semana. Solo ofertas reales y actuales. Ver un ejemplo →
  4. controlaSin cuenta, sin contraseña. Cada email contiene tus enlaces personales para editar, pausar, exportar o borrar.

no te fíes de nosotros: lee el código

WebZap Jobs es de código abierto. Todo lo que este sitio hace con tus datos es público en GitHub.

Las promesas de privacidad salen baratas. El código se puede verificar. Léelo, audítalo, ejecuta tu propia instancia o abre un issue si encuentras algo que no te guste.

  • licencia MIT
  • email + texto cifrados (Fernet/AES)
  • enlaces guardados solo como hashes SHA-256
  • cero cookies, cero rastreadores
  • sin fuentes ni scripts de terceros
  • commit desplegado visible en el pie de página
def add_pending(email: str, text: str, frequency: str, lang: str = "en", campaign: str = "") -> dict:
    """Store an unconfirmed signup; returns its fresh tokens {confirm, manage, delete}."""
    t = {k: secrets.token_urlsafe(32) for k in ("confirm", "manage", "delete")}
    with _conn() as c:
        c.execute(
            """INSERT INTO signups (email_hash, email_enc, text_enc, confirm_hash, manage_hash, manage_token_enc,
                     delete_hash, frequency, lang, campaign, created_at) VALUES (?,?,?,?,?,?,?,?,?,?,?)""",
            (
                email_hash(email),
                _fernet.encrypt(email.strip().encode()),
                _fernet.encrypt(text.encode()),
                _h(t["confirm"]),
                _h(t["manage"]),
                _fernet.encrypt(t["manage"].encode()),
                _h(t["delete"]),
                frequency,
                lang,
                campaign or None,
                int(time.time()),
            ),
        )
        if campaign:
            _count(c, campaign, "signups")
    return t
↑ la función real que guarda tu inscripción, leída del código que se está ejecutando ahora mismoweb/store.py:165