Privacidad y Almacenamiento Local

Tus datos son 100% privados
Esta aplicación no envía tus datos a ningún servidor externo

Tracker de Postulaciones es una aplicación que funciona completamente en el navegador. Todos los datos que ingresas (postulaciones, información personal, preferencias) se almacenan exclusivamente en tu dispositivo utilizando localStorage, una tecnología de almacenamiento web que mantiene la información en tu navegador.

Almacenamiento Local

Tus datos nunca salen de tu dispositivo

Sin Servidores

No hay bases de datos remotas ni APIs

Control Total

Tú decides cuándo borrar tus datos

Código de Almacenamiento
Así es como guardamos tus datos en localStorage
// lib/storage.ts

// Constantes para las claves de localStorage
const STORAGE_KEY = "job-applications"
const USER_INFO_KEY = "user-info"

// Obtener todas las postulaciones
export function getApplications(): Application[] {
  if (typeof window === "undefined") return []

  try {
    const data = localStorage.getItem(STORAGE_KEY)
    return data ? JSON.parse(data) : []
  } catch (error) {
    console.error("Error al obtener las postulaciones:", error)
    return []
  }
}

// Guardar una postulación
export function addApplication(application: Application): void {
  try {
    const applications = getApplications()
    applications.push(application)
    localStorage.setItem(STORAGE_KEY, JSON.stringify(applications))
    window.dispatchEvent(new Event("storage"))
  } catch (error) {
    console.error("Error al agregar la postulación:", error)
    throw error
  }
}

// Obtener la información del usuario
export function getUserInfo(): UserInfo {
  if (typeof window === "undefined") return getDefaultUserInfo()

  try {
    const data = localStorage.getItem(USER_INFO_KEY)
    if (!data) {
      const defaultInfo = getDefaultUserInfo()
      saveUserInfo(defaultInfo)
      return defaultInfo
    }
    return JSON.parse(data)
  } catch (error) {
    console.error("Error al obtener la información del usuario:", error)
    return getDefaultUserInfo()
  }
}

// Guardar la información del usuario
export function saveUserInfo(userInfo: UserInfo): void {
  try {
    localStorage.setItem(USER_INFO_KEY, JSON.stringify(userInfo))
    window.dispatchEvent(new Event("user-info-updated"))
  } catch (error) {
    console.error("Error al guardar la información del usuario:", error)
    throw error
  }
}
Sin Llamadas a Servidores
No hay código que envíe tus datos a ningún servidor

Como puedes ver en el código anterior, todas las operaciones de lectura y escritura se realizan exclusivamente con localStorage. No hay llamadas a APIs, no hay envío de datos a servidores externos, y no hay código que transmita tu información fuera de tu navegador.

¿Qué NO encontrarás en nuestro código?

  • Llamadas a fetch o axios para enviar datos
  • Configuración de Firebase, Supabase u otros servicios de base de datos
  • Funciones de sincronización con servidores
  • Código de autenticación con servicios externos
  • Analíticas o rastreadores que envíen datos de uso
Preguntas frecuentes

¿Qué pasa si borro los datos de mi navegador?

Si borras los datos de navegación, incluyendo el almacenamiento local, perderás toda la información guardada en la aplicación. Te recomendamos exportar tus datos periódicamente usando la función de exportación en la sección de postulaciones.

¿Puedo acceder a mis datos desde otro dispositivo?

No automáticamente. Como los datos se almacenan localmente en tu navegador, no se sincronizan entre dispositivos. Sin embargo, puedes exportar tus datos en un dispositivo e importarlos en otro.

¿Es seguro guardar información sensible?

Los datos almacenados en localStorage son tan seguros como tu dispositivo. Si otras personas tienen acceso a tu dispositivo, podrían potencialmente ver esta información. Te recomendamos no guardar información altamente sensible como contraseñas o datos financieros.

¿Hay algún límite a la cantidad de datos que puedo guardar?

Sí, localStorage tiene un límite de aproximadamente 5-10 MB dependiendo del navegador. Esto es suficiente para cientos de postulaciones, pero si notas problemas de rendimiento con muchos datos, considera exportar y archivar postulaciones antiguas.