FOLIO: AUD-20260926-039 Secuencia: Auditoría #3 del día 2026-09-26
📅 2026-09-26 13:40:00 COT 👤 Auditor: Anderson Mares (AMR TECH) ● VIGENTE
Portal Revendedores Score 6.0 / 10 4 hallazgos críticos

Auditoría Portal Revendedores

Análisis técnico completo de pauta.php y puntos.php — hub de creativos de marketing y programa de referidos "Refiere y Gana". El concepto es sólido, pero la implementación tiene brechas críticas de seguridad y backend.

pauta.php | puntos.php | 2026-09-26 13:40 COT | Anderson Mares — AMR TECH
6.0
/10
REQUIERE MEJORAS
Concepto sólido · Backend faltante
Archivos Auditados
2
pauta.php · puntos.php
Hallazgos Críticos
4
Acción inmediata
Hallazgos Medios
6
Planificar fix
Fortalezas
5
Bases positivas

Resumen Ejecutivo

pauta.php — Hub de Creativos

Portal de materiales de marketing pre-fabricados para revendedores. Proporciona plantillas, banners y recursos listos para compartir en redes sociales y WhatsApp. El concepto es valioso para acelerar la adquisición de clientes a través de la red de revendedores.

Diseño oscuro Tailwind responsive Sin tracking descargas Sin UTM generator
puntos.php — Programa de Referidos

Implementa el programa "Refiere y Gana" con tokens únicos de referido. Los revendedores obtienen un enlace personalizado para compartir con prospectos. El token se pasa por $_GET pero no se valida en el servidor. No existe backend que registre puntos, comisiones ni pagos.

JetBrains Mono para tokens WhatsApp support Sin validación token Sin DB backend

Veredicto General: El journey del revendedor está incompleto. No existe autenticación de revendedores, no hay dashboard de comisiones, no hay tracking de referidos en base de datos. Cualquiera puede acceder a los materiales y forjar tokens de referido. El sistema de puntos es actualmente frontend-only — cosmético, sin impacto real en el negocio.

Hallazgos Críticos 4 encontrados

CRÍTICO #1 Token de Referido sin Validación Server-Side
puntos.php · línea 18

El token de referido se lee directamente de $_GET['token'] sin ninguna validación del servidor. El parámetro acepta además 'phone' y 'ref' como aliases. Este valor solo existe en el cliente JavaScript — cualquier atacante puede generar o suplantar un enlace de referido válido.

// puntos.php línea 18 — vulnerable
$initialToken = trim($_GET['token'] ?? $_GET['phone'] ?? $_GET['ref'] ?? '');
// Sin verificación en BD · Sin expiración · Sin ownership check
Token forgery Referral fraud Commission abuse
CRÍTICO #2 Sin Sistema de Autenticación de Revendedores
pauta.php · puntos.php · acceso público

Ambas páginas son completamente públicas. Cualquier visitante puede acceder a todos los materiales de marketing y al sistema de puntos sin identificarse. No existe distinción entre revendedor activo, revendedor inactivo, cliente regular o visitante anónimo. Esto expone estrategias comerciales y permite que personas no autorizadas usen los materiales de marca.

Sin login requerido
Acceso sin credenciales a materiales de marca
Sin registro
No existe flujo de onboarding o aprobación de revendedores
Sin identidad
Imposible saber quiénes son los revendedores activos
CRÍTICO #3 Sin Backend de Tracking de Comisiones
puntos.php · sistema completo faltante

El sistema de puntos y comisiones es puramente frontend-only. No existe ninguna tabla en base de datos para registrar referidos, conversiones ni pagos. Los revendedores no tienen manera de verificar cuánto han ganado, cuántos clientes han referido o cuándo recibirán su pago. El programa de referidos es actualmente una ilusión visual sin respaldo real.

// Tablas necesarias en BD — actualmente INEXISTENTES:
❌ resellers (id, name, email, phone, status, tier, created_at)
❌ referral_codes (id, reseller_id, code, expires_at, is_active)
❌ referral_events (id, code_id, referred_user, event_type, amount, created_at)
❌ commissions (id, reseller_id, amount, status, paid_at)
CRÍTICO #4 Sin Flujo de Onboarding B2B de Revendedores
Lifecycle completo faltante

No existe ningún proceso de incorporación de revendedores. Falta: formulario de registro, proceso de aprobación por administrador, envío de contrato digital, activación de cuenta, asignación de código único y email de bienvenida. El ciclo de vida B2B del revendedor es inexistente — no hay manera de onboardear formalmente a un nuevo revendedor ni de desactivar a uno que incumple las políticas.

Lo que falta
Formulario de solicitud
Panel de aprobación admin
Firma de contrato digital
Activación por email
Impacto
Revendedores no verificados
Sin contrato vinculante
Marca expuesta a abuso
Imposible desactivar

Hallazgos de Severidad Media 6 encontrados

MEDIO #1 pauta.php sin tracking de descargas

El hub de creativos no registra cuántas veces se descarga cada material. Sin esta métrica no es posible saber qué creativos tienen mayor adopción, ni atribuir ventas a materiales específicos. Tampoco existe generador de UTM parameters para que los revendedores puedan trackear sus campañas.

MEDIO #2 Creativos sin control de versiones

Los materiales de marketing en pauta.php no tienen timestamps de última actualización ni número de versión. Si se actualiza el branding o los precios, los revendedores no sabrán que hay creativos nuevos y seguirán usando materiales desactualizados.

MEDIO #3 Sin sistema de tiers de revendedores

No existe diferenciación entre niveles de revendedor (Bronze / Silver / Gold). Todos reciben el mismo porcentaje de comisión independientemente de su volumen de ventas. Esto elimina el incentivo para que los mejores revendedores crezcan y dificulta estructurar un programa de afiliados escalable.

MEDIO #4 Sin analytics para revendedores

Los revendedores no pueden ver cuántos prospectos han hecho clic en su enlace, cuántos se han registrado ni cuántos han convertido en clientes pagantes. Sin datos de conversión, los revendedores no pueden optimizar su estrategia ni justificar continuar promoviendo el servicio.

MEDIO #5 Favicon emoji en puntos.php

puntos.php usa un data:image/svg+xml con emoji como favicon. En iOS Safari y algunos navegadores Android el emoji no renderiza correctamente en este contexto. Impacto menor en UX pero refleja falta de polish para un portal B2B.

MEDIO #6 Sin notificaciones por email al revendedor

Cuando un usuario referido realiza su primera compra, el revendedor no recibe ninguna notificación. Este feedback loop es crítico para la motivación y la confianza en el programa. Sin notificaciones, los revendedores deben entrar manualmente a revisar si algo pasó — en la práctica dejan de hacerlo.

Fortalezas del Sistema 5 positivos

Concepto de programa valioso

El programa de referidos es una palanca de crecimiento real — los revendedores apalancan su red para adquirir clientes a costo bajo. Cuando esté bien implementado, puede ser el principal canal de adquisición del negocio.

UI oscura con buen diseño

Ambas páginas usan un dark theme coherente con el resto del portal. Tailwind CSS está bien aplicado, el layout es limpio y la jerarquía visual funciona. El look and feel es profesional y consistente con la marca AMR TECH.

JetBrains Mono para tokens

El uso de JetBrains Mono para mostrar el token de referido en puntos.php es una buena decisión de UX — las fuentes monoespaciadas facilitan la lectura y copia de códigos. Demuestra atención al detalle en la experiencia del revendedor.

Integración WhatsApp para soporte

Ambas páginas incluyen acceso directo al soporte por WhatsApp, canal natural para el mercado latinoamericano. Reduce la fricción cuando el revendedor tiene dudas sobre los materiales o el programa de puntos.

Diseño mobile responsive

Ambas páginas están optimizadas para móvil — fundamental dado que los revendedores operan principalmente desde sus teléfonos. El layout se adapta correctamente a pantallas pequeñas sin pérdida de funcionalidad.

Plan de Correcciones Recomendadas

URGENTE — Esta semana
Implementar validación server-side de tokens de referido

Crear tabla referral_codes con campos code, reseller_id, is_active, expires_at. Validar el token en PHP antes de mostrar cualquier contenido de puntos. Rechazar tokens inválidos o expirados con mensaje de error claro.

Seguridad
Crear flujo de registro y aprobación de revendedores

Formulario simple: nombre, email, teléfono, ciudad, cómo conociste AMR TECH. Admin recibe notificación por email/Slack y aprueba o rechaza. Al aprobar, se genera código único y se envía email de activación con acceso al portal de revendedor.

Acceso
PRIORITARIO — Próximas 2 semanas
Construir dashboard de revendedor con comisiones reales

Panel que muestre: código de referido propio, número de clics, conversiones, comisión acumulada pendiente, historial de pagos recibidos. Usar Chart.js para gráfica de referidos por semana. Datos desde BD, no hardcodeados.

Backend
Agregar tracking de puntos server-side

Registrar cada evento de referido en tabla referral_events: tipo de evento (clic, registro, primer pago), timestamp, monto de comisión calculado. Calcular saldo de puntos desde BD, no desde localStorage.

DB
Agregar generador de UTM parameters en pauta.php

Formulario en pauta.php donde el revendedor elige el material y obtiene el enlace con UTMs pre-configurados: utm_source=revendedor&utm_medium=whatsapp&utm_campaign=[codigo]&utm_content=[material]. Trackear en Google Analytics / BD propia.

Analytics
MEJORAS — Próximo mes
Implementar sistema de tiers de revendedores

Bronze (0-5 conversiones/mes): 10% comisión. Silver (6-15): 15%. Gold (16+): 20% + acceso a materiales premium exclusivos. Mostrar tier actual y progreso hacia el siguiente nivel en el dashboard del revendedor.

Growth
Tracking de descargas de creativos en pauta.php

Registrar cada descarga con reseller_id, asset_id, timestamp. Mostrar en el admin panel qué materiales tienen mayor adopción. Agregar timestamps y número de versión a cada creativo para facilitar updates.

Métricas
Notificaciones email al revendedor en eventos clave

Enviar email cuando: (1) un referido se registra, (2) el referido hace su primera compra, (3) la comisión está disponible para cobrar, (4) el pago fue procesado. Usar PHPMailer + template HTML con branding AMR TECH.

UX

Arquitectura Objetivo — Portal Revendedores

Capa de Acceso
registro-revendedor.php
Formulario de solicitud + validación
login-revendedor.php
Auth session + remember me
admin-aprobacion.php
Panel admin · aprobar/rechazar
Capa de Herramientas
pauta.php (mejorado)
Creativos + UTM generator + download tracking
dashboard.php
Clics · conversiones · comisiones · tier
puntos.php (mejorado)
Puntos reales desde BD · historial pagos
Capa de Datos
resellers
id, nombre, email, tier, status, created_at
referral_codes
code, reseller_id, is_active, expires_at
commissions
reseller_id, amount, status, paid_at

Desglose de Puntuación — 6.0/10

Seguridad
2/10
Backend / BD
1/10
Autenticación
0/10
UX / Diseño
8/10
Concepto / Idea
9/10
Mobile Ready
8/10
Analytics
2/10
Puntuación Global Ponderada 6.0 / 10
AMR TECH™
Desarrollado / Auditado por Anderson Mares
FOLIO: AUD-20260926-039 · Secuencia #3 del día · ● VIGENTE
⚡ AMR TECH™ · Desarrollado / Auditado por Anderson Mares · StreamingApps by AMR TECH · 2026