En desarrollo activo

Changelog

Cada mejora, arreglo y novedad de keef en un solo lugar.

ÚltimoUpdate

v0.9.1 · Help Center con hilos, adjuntos y refuerzo de seguridad

## Novedades - **Help Center funcional** — buscador y FAQ por categorías, tickets con hilo completo, marcar como resuelto y reabrir desde el usuario. - **Adjuntos en tickets** — PNG / JPG / WebP / GIF / PDF hasta 8 MB, hasta 3 por acción, con URLs firmadas de 10 minutos. - **Notificaciones automáticas por email** — confirmación al abrir, aviso cuando el equipo responde y cuando cambia el estado. ## Seguridad - **Headers globales** — HSTS 2 años, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy y CSP en modo Report-Only aplicados a toda la app (incluido Help Center y admin). - **Autorización defensiva en soporte** — doble verificación de propiedad del ticket y rate-limit propio para cambios de estado (20/h) además del existente en respuestas. - **Funciones internas endurecidas** — revocado `EXECUTE` en triggers `SECURITY DEFINER` de soporte para `anon` y `authenticated`. - **Tests de invariantes de soporte** — vitest verifica MIME whitelist, tamaños, categorías, y que el ticket público nunca exponga `user_id`, IP o `admin_id`. ## Mejoras - **Panel de ticket con hilo cronológico** — mensajes del usuario, del equipo y eventos de estado en una sola vista. - **Contador de reaperturas** — cada vez que se reabre un ticket queda registrado en la lista. - **Ordenamiento por última actividad** — `last_activity_at` mantiene la lista siempre al día. ## Correcciones - **Adjunto vacío o corrupto** — se rechaza antes de subir a Storage. - **Fallback de avatar en el Muro** — iniciales cuando el usuario fue eliminado. - **Emojis y GIFs del chat / muro** — se cargan vía URL firmada y proxy de imágenes en vez de directos.

23 de julio de 2026
Update

v0.9.1 · Help Center con hilos, adjuntos y refuerzo de seguridad

## Novedades - **Help Center funcional** — buscador y FAQ por categorías, tickets con hilo completo, marcar como resuelto y reabrir desde el usuario. - **Adjuntos en tickets** — PNG / JPG / WebP / GIF / PDF hasta 8 MB, hasta 3 por acción, con URLs firmadas de 10 minutos. - **Notificaciones automáticas por email** — confirmación al abrir, aviso cuando el equipo responde y cuando cambia el estado. ## Seguridad - **Headers globales** — HSTS 2 años, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy y CSP en modo Report-Only aplicados a toda la app (incluido Help Center y admin). - **Autorización defensiva en soporte** — doble verificación de propiedad del ticket y rate-limit propio para cambios de estado (20/h) además del existente en respuestas. - **Funciones internas endurecidas** — revocado `EXECUTE` en triggers `SECURITY DEFINER` de soporte para `anon` y `authenticated`. - **Tests de invariantes de soporte** — vitest verifica MIME whitelist, tamaños, categorías, y que el ticket público nunca exponga `user_id`, IP o `admin_id`. ## Mejoras - **Panel de ticket con hilo cronológico** — mensajes del usuario, del equipo y eventos de estado en una sola vista. - **Contador de reaperturas** — cada vez que se reabre un ticket queda registrado en la lista. - **Ordenamiento por última actividad** — `last_activity_at` mantiene la lista siempre al día. ## Correcciones - **Adjunto vacío o corrupto** — se rechaza antes de subir a Storage. - **Fallback de avatar en el Muro** — iniciales cuando el usuario fue eliminado. - **Emojis y GIFs del chat / muro** — se cargan vía URL firmada y proxy de imágenes en vez de directos.

Feature

Custom Emojis, Perfiles Alt y arranque más rápido

Nueva tanda de novedades para keef: **Custom Emojis Premium** — Subí hasta 30 emojis propios (PNG/GIF, 256KB máx) desde /premium/emojis y usalos con `:shortcode:` en el guestbook y en el chat global. Se renderizan inline como cualquier emoji nativo. **Perfiles Alt (Personas)** — Los usuarios Premium pueden crear hasta 3 perfiles alternativos bajo la misma cuenta, cada uno con su propio slug, avatar, banner, bio y color de acento. Cambio rápido tipo Discord, sin cerrar sesión. Se gestionan desde /premium/personas y quedan públicos en /p/<slug>. **Arranque más rápido** — Sacamos las librerías de gráficos (~90KB) del bundle inicial. La página de estadísticas ahora pinta las tarjetas al instante y los charts hacen streaming en segundo plano. Se suma un cache LRU con TTL para reducir consultas repetidas. Como siempre: feedback bienvenido en el servidor de Discord.

Update

Chat global, moderación en vivo y pulido general

Novedades de esta ronda: • Chat global en tiempo real con badges, decoración de avatar, agrupación estilo Discord, paginación por cursor y rate-limit server-side. • Moderación: reportes de mensajes, panel /admin/chat con alertas en vivo, sonido en críticos, cooldowns automáticos por spam/insultos y auditoría completa (usuario, IP, motivo). • Avatares del chat con URLs firmadas + reintento + cache + fallback con iniciales — se acabaron los avatares rotos. • Misiones daily/weekly con streak bonus, +11 misiones nuevas y otorgamiento automático de créditos vía credit_ledger. • Tienda de decoraciones: preview con tu avatar real, alineación estilo Discord (overlay que sobresale), logs detallados de equip/purchase. • Perfil ($username): sin scroll en móvil/tablet (100dvh), decoraciones alineadas correctamente, Discord Status desactivado temporalmente hasta que la API sea estable. • Tema claro/oscuro configurable desde Ajustes → Apariencia, con fondo más neutro (menos violeta). • Registro/login arreglados (columna meta_overlay + trigger que rompía signups). • Seguridad: middleware SSR que detecta y bloquea probes (curl/sqlmap/nikto) con auto-block a los 3 hits, panel /admin/vulnerabilidades con regla, match, trigger y feed en tiempo real. • Admin: ajuste bidireccional de créditos (dar/quitar), reconexión de Discord OAuth arreglada, validador de decoraciones acepta cualquier slug del catálogo.

Feature

Tienda, misiones y admin recargados

## 🛒 Tienda - Preview con tu avatar real (con fallback + reintentos si falla la carga). - Overlay de decoraciones firmado al equipar: se ve al instante, sin recargar. - Botón "Sin decoración" y posicionamiento correcto del indicador online. ## 🎯 Misiones (+11 nuevas) **Diarias:** Ojo clínico (10 vistas), Popular (5 reacciones), Conversador (3 mensajes), Diseñador (guardar personalización). **Semanales:** Constante (5 logins), Influencia (50 vistas), Querido (25 reacciones), Voz activa (5 mensajes), Coleccionista Pro (3 compras), Perfeccionista (5 ediciones), Explorador social (10 follows). ## 🛠️ Admin / Tienda - Ajustar créditos con montos ± y chips rápidos (+100/500/1000 y −100/500/1000). Botón rojo al quitar. - Log de actividad reciente del ledger. - Previews del catálogo firmadas correctamente. ## 🔒 Seguridad & logs - Rate limit en equipar/comprar decoraciones. - Logs detallados en equipDecoration / purchaseDecoration para cazar bugs al toque.

Feature

Aliases Premium — hasta 5 URLs vanity por cuenta

## Nuevo en Premium: Aliases Ahora los usuarios **Premium** pueden reservar hasta **5 alias adicionales** que redirigen a su perfil principal. ### ¿Para qué sirven? - Campañas puntuales (`keef.cc/black-friday`) - Marca personal alternativa (`keef.cc/dj-alias`) - Alias secundarios (`keef.cc/tunombre2`) - Vanity URLs cortas para pegar en bios o flyers ### Detalles - Se gestionan desde **Premium → Aliases** en el sidebar. - Cada alias es único globalmente (no colisiona con usernames ni reservados). - Podés eliminarlos cuando quieras; el username principal sigue siendo tu identidad. - Todos los alias apuntan a la misma página, con la misma personalización. Si todavía no sos Premium, activalo desde `/premium` y desbloqueás también layouts avanzados, dominio propio y metadata personalizada.

Feature

Tanda 5: Social & Viral

## Nuevas funciones sociales - **Weekly Wrapped** en `/wrapped`: resumen semanal con vistas, seguidores nuevos, reacciones, racha y top país. Con botón para compartir. - **Menciones @usuario** en el guestbook: escribí `@nombre` y queda como enlace clickeable al perfil. - Placeholder del guestbook actualizado para dejar visible el tip de menciones. Entrá desde la sidebar → Cuenta → Weekly Wrapped.

Update

SEO/crecimiento: sitemap index, SearchAction y JSON-LD ampliado

## 🔎 SEO - **Sitemap index** en `/sitemap-index.xml` con sub-sitemaps para páginas y perfiles (mejor para Google cuando hay miles de perfiles). - **SearchAction** JSON-LD en el sitewide: Google puede mostrar sitelinks search box hacia `/discover`. - **Organization** con `logo` y `sameAs: [Discord]` para knowledge panel. - **robots.txt**: bloqueo de rutas privadas (`/admin`, `/settings`, `/customize`, `/premium`, `/api/`) y `Sitemap:` apuntando a `keef.cc`.

Feature

Calidad de vida: autosave, undo global y pill de estado

## ✨ QoL - **Autosave** con debounce en editores (hook `useAutosave`): sin botón "Guardar", cambios se sincronizan solos. - **Undo/Redo** genérico (`useUndoable`) listo para editor de perfil, links y timeline. - **Indicador visible** de guardado (`Guardando… / Guardado / Error`) para no perder confianza. - Base lista para atajos ⌘Z / ⌘⇧Z en próximas iteraciones.

Update

Image proxy firmado + endurecimiento continuo

## 🛡️ Image proxy firmado - Nuevo endpoint `/api/public/img` que sólo acepta URLs con firma HMAC-SHA256. - **SSRF guard**: bloquea loopback, IPs privadas y metadata de nube (169.254.169.254). - Streaming sin bufferear, `Referrer-Policy: no-referrer` y cache CDN 7 días. - Content-Type validado: sólo `image/*` puede pasar. ## 🔒 Extras - Cross-Origin-Resource-Policy en respuestas del proxy. - CSP Report-Only midiendo violaciones reales para endurecer sin romper widgets.

Update

Cabeceras de seguridad + CSP en modo monitor

## 🛡️ Endurecimos el navegador - **CSP en Report-Only**: monitoreamos scripts, estilos y frames sospechosos sin romper widgets (Discord, Spotify, YouTube, Paddle). - **Permissions-Policy ampliada**: cámara, micrófono, geo, USB, sensores y pagos bloqueados por defecto (Paddle sigue autorizado). - **X-DNS-Prefetch-Control** activado para acelerar navegación entre perfiles. - **X-Permitted-Cross-Domain-Policies: none** para impedir cargas Flash/Adobe legacy. - Los headers HSTS, XFO, nosniff y COOP siguen aplicados globalmente. Si ves algo raro en un perfil, avisá — estamos analizando los reportes antes de pasar CSP a modo bloqueo total.

Update

Ronda de mejoras: deuda técnica + registro más limpio

Bajo el capó: - 🧹 **Purga automática diaria** de logs viejos (rate_limits, security_events, IPs, views antiguas). Menos peso en la DB, todo más rápido. - 🚫 **Bloqueo de emails desechables** en /register (mailinator, tempmail, guerrillamail y +60 más). Menos cuentas basura. - 🛡️ Función de purga con permisos mínimos — solo el servicio interno puede ejecutarla. Próxima ronda: seguridad+, QoL (⌘K mejorado, QR del perfil, autoguardado), SEO (OG dinámico), features premium nuevas (widgets, efectos ambientales, timers).

Update

Novedades de la semana

Seguimos puliendo keef con mejoras chicas pero que se notan: • Programa de Embajadores con tiers y página pública dedicada. • Nuevos paneles internos para operar el sitio con más orden. • Navegación más rápida: prefetch al pasar el mouse y transiciones instantáneas entre secciones. • Avatares y banners optimizados para que los perfiles carguen mucho más liviano. • Ajustes de seguridad y privacidad detrás de escena. • Correcciones varias en reproductor de audio, videos de perfil y notificaciones. Gracias por bancar el proyecto 💜

Update

Actualización general — pulido visual, retención y seguridad

Iconos sociales sin blur Los enlaces del perfil se muestran limpios y nítidos, sin difuminado detrás del icono. Se ve mucho mejor en fondos oscuros y con imagen. Retención y referidos - Sistema de referidos activo: 6 invitados con email confirmado te regalan 1 mes de premium. - Antifraude reforzado: se bloquean VPNs, cambios de navegador y cuentas recién creadas. - Compartir templates de perfil directo desde la vista de personalización. Reproductor de audio - Autoplay real en móvil (arranca silenciado y se activa al primer toque). - Recuperación automática cuando expira la URL firmada. - Corregido el corte a los pocos segundos en iOS Safari. - Logs de errores de audio en el panel de seguridad para diagnosticar casos raros. Discord Card - Decoraciones oficiales de avatar, badge de Nitro y booster con assets reales. - Layout con varias insignias sin solaparse. - Estados de carga con reintento y mensajes claros cuando el bot no ve tu presencia. Emails con dominio propio - notify.emails.keef.cc verificado y activo. - Confirmación de cuenta, reset de contraseña y códigos 2FA llegan con branding de keef. - Anuncios importantes se envían también por correo a quienes tienen opt-in. Cuenta y soporte - Podés eliminar tu cuenta desde ajustes cuando quieras. - Soporte directo por Discord (discord.gg/baires). Seguridad - Notificaciones marcadas como leídas correctamente. - Auditoría ampliada: se registran errores sensibles y accesos anómalos. - Bloqueo automático de IPs con actividad sospechosa y CAPTCHA cuando el umbral se supera. - Políticas de acceso ajustadas en varias tablas para evitar exposición de datos. - Endpoint de bloqueo cerrado para evitar lockouts maliciosos. - Vinculación con Discord ahora requiere OAuth verificado. Admin - Botón para borrar el historial de IPs (global y por usuario). - Panel de seguridad con eventos filtrables (auth, badges, audio, SQL). - Gestión de webhooks para configurar los avisos de ventas y publicaciones.

Update

Login/Registro renovados + más seguridad

## Nuevo diseño de acceso - Páginas **/auth** y **/register** rediseñadas con panel split-screen, aurora animada, marquee de usuarios y tarjeta de cristal. - Medidor de fuerza de contraseña en tiempo real durante el registro. - Botones con gradiente animado y micro-interacciones. ## Seguridad reforzada - **CAPTCHA step-up** tras varios intentos fallidos de login (matemático, firmado con HMAC). - **Bloqueo temporal automático** por IP y email al detectar abuso. - **Trigger anti-abuso de insignias**: bloquea al usuario tras actividad anómala. - **Panel /admin/security**: auditoría de logins, cambios de badges, violaciones RLS y errores SQL con alerta a Discord. - Funciones de base de datos con `search_path` fijado y `security definer` restringido. ## Ventas & operaciones - Webhook de Discord con eventos configurables (compras, changelogs, alertas) desde `/admin/webhooks`. - Registro de IPs de usuarios en `/admin/ips`. ## Perfil & UX - Iconos sociales estilo circular en el perfil. - Analíticas por país y **vistas únicas** (7d / 30d) en el dashboard. - Tilde de verificado en Discord cuando la cuenta está vinculada vía OAuth. - Reproductor de audio con **5 posiciones** configurables. - Discord card estilo guns.lol (banner, actividad, estado animado). - Dashboard "Midnight Studio" con acento morado neón. ## Pagos - **Lifetime Premium por $5 USD** en cripto (NOWPayments) desde el modal Upgrade. - **Insignia personalizada a $7 USD**. - Notificaciones de ventas al webhook de Discord. ## Emails - Dominio `notify.mail.keef.cc` conectado: códigos 2FA, cambios de contraseña y avisos ahora llegan con branding keef. ## Rendimiento - Iconos de insignias cargados de forma estática (fin del parpadeo en el perfil). - Rate-limiting general y cache headers en rutas públicas.

Update

Limpieza en Personalización + mejoras de seguridad

Pequeños ajustes esta semana: • Eliminado temporalmente el selector de **Layout del perfil** — volverá pronto renovado con más opciones y previews en vivo. • Refuerzo de seguridad en el sistema de insignias: ahora es imposible auto-asignarse badges reservadas (Staff, Verified, Premium, etc.). • Correcciones menores en el editor de personalización. Seguimos trabajando en el rediseño completo del panel de Diseño del perfil. 🚀

Feature

Reproductor de audio con posición personalizable

Ahora podés elegir dónde aparece el reproductor de música en tu perfil desde el **Gestor de audio** en Personalizar. **Novedades:** - 5 posiciones disponibles: arriba izquierda, arriba derecha, abajo izquierda, abajo centro y abajo derecha. - Por defecto aparece **arriba a la derecha**, justo debajo del contador de vistas para no tapar contenido. - Layout adaptado para móviles y tablets: el widget nunca se corta ni se superpone con el header del perfil. - Selector visual tipo minimapa para elegir la ubicación con un click. Entrá a **Personalizar → Gestor de audio → Posición del reproductor** para moverlo donde más te guste.

Feature

Regístrate con TU nombre + notificaciones en vivo

## Novedades ### 🪪 Elige tu URL desde el registro - Al crear cuenta eliges directamente tu `keef.cc/tunombre`. Nada de nombres tipo `user8a3f...`. - Comprobación en vivo mientras escribes: verás al instante si está libre, en uso o reservado. - ¿Encontraste un `keef.cc/loquesea` que aún nadie tiene? Desde esa misma página puedes reclamarlo en un click. ### 🔔 Notificaciones en tiempo real - Cuando publiquemos una nueva novedad, recibirás un toast al instante sin recargar. - La campanita del dashboard se actualiza sola. ### 🧹 Simplificado - Se quitó el botón "Reclamar username" del dashboard — ya no hace falta. - Cambiar tu nombre más adelante sigue disponible desde Ajustes. --- Gracias por seguir usando keef.cc 💚

Update

Pagos con crypto + mejoras de seguridad y rendimiento

## Novedades ### 💸 Premium con crypto — $5 de por vida - Ya puedes pagar Premium con USDT, BTC, LTC y +100 criptos vía NOWPayments. - Un solo pago, para siempre. Sin suscripciones ni renovaciones. - Panel de upgrade rediseñado: se abre directo desde la barra lateral, sin páginas intermedias. - Activación automática en 2-5 min tras confirmar el pago. ### 🛡️ Seguridad reforzada - Verificación criptográfica de los pagos entrantes antes de activar cualquier beneficio. - Sistema anti-doble-pago: si ya tienes Premium activo, no se crea otra invoice. - Rate-limiting en acciones sensibles (invoices, reportes) para frenar abuso automatizado. - Protección extra en los badges: nadie puede reasignarse insignias que no ha ganado. - Validación estricta de todas las URLs de pago antes de redirigir. ### ⚡ Rendimiento - La home carga bastante más rápido en visitas repetidas gracias a caché en el edge/CDN. - Menos consultas pesadas a la base de datos en el arranque de la landing. ### 🧹 Limpieza - Se eliminó la landing /premium — todo el flujo vive ahora en el panel emergente desde la barra lateral. - Enlaces internos actualizados en customize, checkout y el command palette. --- ¿Encontraste algo raro? Repórtalo desde /bugs. ¡Gracias por usar keef.cc 💚!

v0.9.1-beta · beta