Skip to main content
The CV Builder stores all your information locally in your browser using cookies and localStorage. This ensures privacy, offline access, and gives you full control over your data.

Data Storage Overview

Your CV data is stored in two locations:

Cookies

Stores structured CV data (personal info, experience, education, skills, references) with 10-year expiration.

localStorage

Stores your profile photo as a base64-encoded image and photo shape preference.

How Data is Stored

The application uses the js-cookie library to store CV information in browser cookies. Each section of your CV is stored as a separate cookie:
import Cookies from "js-cookie";

// Saving personal information with 10-year expiration
Cookies.set("InformacionPersonal", JSON.stringify(data), { 
  expires: 3650 
});
Cookie NameContainsExample Data
InformacionPersonalPersonal data, contact info, about meName, email, phone, address, profession
InformacionAcademicaEducational backgroundSchools, degrees, graduation dates
ExperienciaLaboralWork experienceCompanies, positions, dates, responsibilities
CompetenciasSkills and competenciesTechnical skills, soft skills, languages
ReferenciasProfesionalesProfessional referencesNames, companies, contact info
ReferenciasPersonalesPersonal referencesNames, relationships, contact info
All cookies are set with a 3650-day expiration (approximately 10 years), ensuring your data persists long-term.
// Cookie expiration implementation
const info = {
  sobremi: sobremi !== undefined ? sobremi : "",
  nombre: nombre !== undefined ? nombre : "",
  apellido: apellido !== undefined ? apellido : "",
  profesion: profesion !== undefined ? profesion : "",
  // ... other fields
};

Cookies.set("InformacionPersonal", JSON.stringify(info), { 
  expires: 3650 
});

localStorage Storage

Your profile photo and preferences are stored in localStorage:
// Storing profile photo as base64-encoded image
localStorage.setItem(
  "fotoPerfil",
  cropper.getCroppedCanvas().toDataURL()
);

// Storing photo shape preference
localStorage.setItem("fotoRedonda", fotoRedonda);

localStorage Items

KeyContainsFormat
fotoPerfilCropped profile photoBase64-encoded data URL
fotoRedondaPhoto shape preferenceBoolean string (“true” or “false”)

Data Backup

The application provides a JSON export feature to backup all your CV data.
1

Navigate to Backup Section

Go to the data management or settings section (typically under Cargar Información or similar).
2

Click Download Backup

Click the Descargar button in the backup section to download your data.
3

Save JSON File

A JSON file will be downloaded with the filename format:
datos_[FirstName][LastName].json

Backup File Structure

The downloaded JSON file contains all your CV data:
const contenidoJSON = {
  Competencias: Competencias || [],
  ExperienciaLaboral: ExperienciaLaboral || [],
  InformacionPersonal: InformacionPersonal || {},
  InformacionAcademica: InformacionAcademica || [],
  ReferenciasProfesionales: ReferenciasProfesionales || [],
  ReferenciasPersonales: ReferenciasPersonales || [],
  fotoPerfil: fotoPerfil || "",
};

Backup Implementation

async function descargarArchivoJSON() {
  try {
    // Retrieve data from cookies and localStorage
    const fotoPerfil = localStorage.getItem("fotoPerfil");
    const InformacionPersonal = Cookies.get("InformacionPersonal");
    const InformacionAcademica = Cookies.get("InformacionAcademica");
    const ExperienciaLaboral = Cookies.get("ExperienciaLaboral");
    const Competencias = Cookies.get("Competencias");
    const ReferenciasProfesionales = Cookies.get("ReferenciasProfesionales");
    const ReferenciasPersonales = Cookies.get("ReferenciasPersonales");

    // Parse personal info for filename
    const ip = JSON.parse(InformacionPersonal);
    const info = {
      nombre: ip.nombre || "Nombre",
      apellido: ip.apellido || "Apellido",
    };

    // Create JSON object with all data
    const contenidoJSON = {
      Competencias: Competencias || [],
      ExperienciaLaboral: ExperienciaLaboral || [],
      InformacionPersonal: InformacionPersonal || {},
      InformacionAcademica: InformacionAcademica || [],
      ReferenciasProfesionales: ReferenciasProfesionales || [],
      ReferenciasPersonales: ReferenciasPersonales || [],
      fotoPerfil: fotoPerfil || "",
    };

    // Convert to formatted JSON string
    const contenidoCadenaJSON = JSON.stringify(contenidoJSON, null, 2);
    const blob = new Blob([contenidoCadenaJSON], {
      type: "application/json",
    });
    const url = URL.createObjectURL(blob);

    // Create download link
    const enlaceDescarga = document.createElement("a");
    enlaceDescarga.href = url;
    enlaceDescarga.download = `datos_${info.nombre}${info.apellido}.json`;

    // Trigger download
    document.body.appendChild(enlaceDescarga);
    enlaceDescarga.click();

    // Cleanup
    URL.revokeObjectURL(url);
    document.body.removeChild(enlaceDescarga);
  } catch (error) {
    console.error("Error al descargar el archivo JSON:", error);
  }
}

Restoring from Backup

To restore your data from a backup JSON file:
1

Navigate to Import Section

Go to Cargar Información (Load Information) in the application.
2

Select Your Backup File

Click the import/upload button and select your previously saved JSON file.
3

Confirm Import

The application will parse the JSON and restore all your cookies and localStorage data.
4

Verify Data

Navigate through each section to verify all your information was restored correctly.
Restoring from backup will overwrite any existing data. Make sure to backup current data first if needed.

Deleting Your Data

You can permanently delete all your CV data from the browser.

Delete Process

1

Navigate to Delete Option

Find the Borrar (Delete) button in the data management section.
2

Confirm Deletion

A confirmation modal will appear:
Deseas eliminar los datos permanentemente!!!
Click Aceptar to confirm or Cancelar to cancel.
3

Data is Removed

All cookies and localStorage items are deleted, and you’re redirected to the home page.

Delete Implementation

const borrar = () => {
  // Remove all localStorage items
  localStorage.removeItem("fotoPerfil");
  localStorage.removeItem("fotoRedonda");
  
  // Remove all cookies
  Cookies.remove("InformacionPersonal");
  Cookies.remove("InformacionAcademica");
  Cookies.remove("ExperienciaLaboral");
  Cookies.remove("Competencias");
  Cookies.remove("ReferenciasProfesionales");
  Cookies.remove("ReferenciasPersonales");
  
  // Redirect to home page
  router.push("/");
};
Deletion is permanent and cannot be undone. Always create a backup before deleting data.

Data Privacy & Security

Local Storage Benefits

Privacy

Your data never leaves your browser. No server storage means no data breaches or unauthorized access.

Offline Access

Work on your CV without an internet connection. All data is available offline.

Full Control

You decide when to backup, export, or delete your data. No account required.

No Tracking

Your personal information isn’t tracked, analyzed, or shared with third parties.

Important Considerations

Data is stored per-browser. If you use multiple browsers or devices, your data won’t sync automatically. Use JSON backup/restore to transfer data between browsers.
Data won’t persist in private/incognito mode. Always use normal browsing mode when creating your CV.
Clearing browser cookies and local storage will delete your CV data. Always maintain a JSON backup.
Major browser updates rarely affect cookie/localStorage data, but it’s good practice to maintain regular backups.

Best Practices

Regular Backups

Create a backup JSON file after major updates to your CV:
  • After completing your initial CV
  • Before making significant changes
  • Monthly for active job seekers
  • Before clearing browser data

Backup Storage Locations

  • Cloud Storage: Upload to Google Drive, Dropbox, OneDrive
  • Email: Send to yourself as an attachment
  • External Drive: Store on USB drive or external hard drive
  • Multiple Locations: Keep copies in 2-3 different places

Data Organization

CV_Backups/
├── 2026-03-01_datos_JohnDoe.json
├── 2026-03-15_datos_JohnDoe.json
└── 2026-04-01_datos_JohnDoe.json
Include dates in backup filenames for version control.

Troubleshooting

Check:
  • Cookies are enabled in browser settings
  • Not using private/incognito mode
  • Browser storage isn’t full
  • No browser extensions blocking cookies
Solutions:
  • Check browser download permissions
  • Disable pop-up blocker temporarily
  • Try a different browser
  • Check available disk space
Verify:
  • JSON file is valid and not corrupted
  • File wasn’t edited manually
  • Browser supports the file format
  • Try opening file in a text editor to check structure
Note: The profile photo IS included in backups as a base64 string in the fotoPerfil field. If missing:
  • Re-upload your photo
  • Try a smaller image file
  • Check localStorage limits (typically 5-10MB)

Storage Limits

Browser Storage Quotas

Storage TypeTypical LimitNotes
Cookies4KB per cookieMultiple cookies used
localStorage5-10MB totalMainly for profile photo
Total CV Data< 5MB typicalIncludes all text and photo
Profile photos are typically 50-500KB when base64-encoded, well within localStorage limits.

Next Steps

Build docs developers (and LLMs) love