Blog de Raúl Salinas

Onze anys de missatges en l'aire: la còpia de seguretat de WhatsApp que no es podia restaurar

Sèrie sobre WhatsApp, 1/2. Este article conta què em va passar en canviar de mòbil. El segon, WhatsApp és realment segur? El problema dels extrems que no controles, explica per què el xifratge d'extrem a extrem no garantix tot el que sembla.

TL;DR — No tinc temps per a llegir un text tan llarg en este moment

  • En gener de 2024 vaig comprar un mòbil nou. WhatsApp no va ser capaç de restaurar la meua còpia de seguretat: 1.701.082 missatges, des de novembre de 2012.
  • La restauració arribava a «Finalitzant 99%» i fallava. Sempre. En tres telèfons diferents.
  • La funció oficial de transferència entre mòbils Android va fallar a mitjan procés i va deixar inservible la base de dades del mòbil vell. Ja no hi havia marxa arrere.
  • Vaig estar 44 dies sense WhatsApp, perquè començar de zero volia dir renunciar per sempre a l'historial. M'ho va dir el mateix suport: l'historial antic i el nou no es poden combinar.
  • Vaig escriure 32 correus al suport. En vaig rebre 31 respostes: 30 de plantilla o automàtiques i una d'un humà. Eixe humà va prometre passar el cas a l'equip de Producte i no va tornar a escriure mai.
  • Em va salvar ser enginyer de programari. Amb un mòbil rootejat vaig capturar la clau, que WhatsApp guarda en els seus servidors i només escriu al mòbil uns instants durant la restauració. Amb ella vaig desxifrar la meua pròpia còpia. Els missatges hi eren tots.
  • Segons el suport, la base de dades estava «corrupta». En realitat tenia una fila duplicada en una taula de metadades de 57.658 files. Amb tres ordres estàndard de SQLite, en uns 22 segons, queda neta.

Què va passar

Faig servir WhatsApp des de 2012. He canviat de mòbil diverses vegades i sempre havia funcionat igual: instal·les l'aplicació, verifiques el número, toques «Restaurar» i la còpia de Google Drive torna al seu lloc.

En gener de 2024 vaig passar d'un Xiaomi Redmi Note 9S, que havia usat quatre anys, a un Google Pixel 8. Esta vegada la restauració no va funcionar. Baixava els gigabytes, mostrava «Restaurant», arribava a «Finalitzant 99%», s'hi quedava una estona i acabava dient que no podia restaurar els xats. Més avant, directament, l'aplicació es moria.

18 de gener de 2024, 17:59: la restauració encallada en «Finalizando… (99 %)». He tapat el compte de Google.
18 de gener de 2024, 17:59: la restauració encallada en «Finalizando… (99 %)». He tapat el compte de Google.

18 de gener, 19:10: «No se pudieron restaurar tus chats desde esta copia de seguridad».
18 de gener, 19:10: «No se pudieron restaurar tus chats desde esta copia de seguridad».

Abans de fer res més, amb adb vaig copiar a l'ordinador tota la carpeta de WhatsApp del mòbil vell: uns 30 GB en 80.000 fitxers, amb les còpies locals diàries de la base de dades. Eixa precaució, al final, és la que ho va salvar tot.

Vaig fer el que diu el manual i una miqueta més:

  • Vaig esborrar la còpia de Google Drive perquè el mòbil vell en fera una de nova. Va tardar unes sis hores i va acabar sense cap error.
  • Vaig restablir de fàbrica el mòbil nou.
  • Vaig tornar a activar WhatsApp al mòbil vell cada vegada que fallava el nou. El primer que feia era actualitzar la còpia, i no la vaig interrompre mai.
  • Vaig esperar entre intent i intent fins a 20 hores, perquè els servidors de WhatsApp no volen que verifiques el número tantes vegades seguides.

Després vaig descobrir que WhatsApp havia afegit feia poc una transferència directa entre mòbils Android, per Wi-Fi. Semblava la solució: no passava per Google Drive. Els dos mòbils es van veure, la transferència va començar i a mitjan camí va fallar. En eixe moment, WhatsApp va marcar com a no vàlida la base de dades del mòbil vell. Ja no el podia tornar a usar. Des d'aleshores, restaurar la còpia donava en el mòbil vell el mateix error que en el nou.

Era el 18 de gener de 2024. L'últim missatge de la meua història antiga és d'eixe dia a les 10:07. L'última còpia a Google Drive és de les 10:49: 20,5 GB, amb fotos i vídeos inclosos.

Per què no començar de zero i ja està

Perquè no hi havia volta arrere. Ho diu la mateixa resposta de WhatsApp del 16 de gener:

«Solo puedes restaurar el historial de WhatsApp antes de activar la aplicación en el dispositivo nuevo. [...] No es posible combinar el historial antiguo con el nuevo.»

Si tocava «Ometre» i començava a usar WhatsApp, renunciava per sempre a restaurar la còpia. Per això vaig estar sense WhatsApp mentre esperava una solució. Van ser 44 dies, del 18 de gener al 2 de març de 2024.

El 2 de març vaig fer l'últim intent, al mòbil vell. A les 11:16 fallava igual que sis setmanes abans. Aquella vegada vaig tocar «Ometre» i vaig començar un compte net, sense historial.

2 de març de 2024, 11:16: la mateixa còpia del 18 de gener, el mateix 99 % i el mateix error.
2 de març de 2024, 11:16: la mateixa còpia del 18 de gener, el mateix 99 % i el mateix error.

Figura 1
Figura 1

Encara avui, l'aplicació amb què consulte els meus missatges mostra dues «encarnacions» del mateix número: la història vella, recuperada, i la nova, que comença el 2 de març. Entre les dues hi ha un forat de 44 dies.

Invisible per a la resta

Hi havia una angoixa afegida que no esperava. Quasi tothom dona per fet que, si tens WhatsApp, el tens sempre. Ningú es fixa si un missatge arriba: s'envia i ja està. Durant eixos 44 dies, per a la resta jo continuava tenint WhatsApp.

Un exemple. Un tècnic amb qui havia de fer una gestió per a una associació, lluny de casa, em va telefonar un dia per a quedar l'endemà a les huit. Vam quedar per telèfon. L'endemà m'hi vaig presentar i em va dir: «Ah, és que este matí t'he enviat un WhatsApp per a cancel·lar-ho». No s'havia fixat que el missatge no m'havia arribat. Per a ell era impensable que algú no tinguera WhatsApp.

No és estrany que la gent no hi pense: quedar-se sense WhatsApp és excepcional. Però justament per això WhatsApp hauria d'avisar. Qui envia només veu un tic gris, el mateix que quan tens el mòbil apagat una estona, i cap avís que eixe compte fa setmanes que no rep res. A més, els missatges pendents WhatsApp només els guarda 30 dies. Jo en vaig estar 44 sense poder-ne llegir cap.

El suport: 63 correus i cap tècnic

Del 16 de gener al 5 de març es van creuar 63 correus: 32 meus i 31 de WhatsApp. Les respostes de WhatsApp, classificades:

Resposta Vegades
«Las copias de seguridad más grandes demorarán algo de tiempo…» 4
«Envíanos un vídeo / una captura de pantalla» 4
Enquesta de satisfacció 4
«Parece que la base de datos de tus chats está corrupta» 3
«Reproduce el problema y envía los registros» 2
«Tu cuenta permanece activa y no presenta ningún problema» 2
«Desinstala, reinstala y toca Restaurar; no podemos ayudarte» 2
Instruccions per a passar d'Android a iPhone 1
«Actualiza Google Play Services» 1
No es pot fer còpia des de WhatsApp Web 1
Com restaurar una còpia local reanomenant fitxers 1
Publicitat del xifratge d'extrem a extrem 1
«No tenemos información suficiente» / «envíanos tu número» 2
«No recibimos el archivo adjunto» 1
Acús de rebut automàtic 1
Resposta d'una persona que llegix el cas 1

Alguns moments que resumixen la faena:

  • 18 de gener, 19:22. Envie des de l'aplicació un informe amb registres i captures. Dos minuts després: «Al parecer, debes actualizar la aplicación Google Play Services».
  • 22 de gener. Em diuen que la base de dades està corrupta per «una interrupción en el proceso de creación de la copia» o perquè «se fuerza el cierre de WhatsApp». No havia fet ni una cosa ni l'altra. Els pregunte, literalment: «¿Me está atendiendo un sistema automatizado de IA?». La resposta és la mateixa plantilla de la corrupció, paraula per paraula.
  • 29 de gener. Demane l'única cosa que només ells poden fer: que em donen la clau per a desxifrar la meua base de dades, o que me la desxifren ells. Arriba l'única resposta humana de tot l'intercanvi. Diu que passa el cas a l'equip de Producte, que la clau «no es un dato que se pueda compartir» i que hi ha gent que ho ha aconseguit amb mòbils rootejats, «pero está claro que no es algo que aconsejo». Promet escriure quan tinga notícies. No tornarà a escriure.
  • 13 de febrer. Dues vegades em diuen que el meu compte està actiu i no té cap problema. Em demanen el número de telèfon, que anava en tots els registres que m'havien fet enviar. Quan pregunte si l'equip de Producte ha mirat el cas, en menys d'un minut rep la plantilla de «desinstala y reinstala».
  • 19 de febrer. Oferisc pagar el suport tècnic, si cal. Em demanen un vídeo. El puge a YouTube: s'hi veu «Finalitzant 99%» i l'aplicació que es mor. Quatre minuts després em contesten que les còpies grans tarden a baixar.
  • 1 de març, 12:12. Torne a demanar que em desxifren la base de dades local. Resposta: una explicació del xifratge d'extrem a extrem, amb la frase que «nadie más, ni siquiera WhatsApp» pot llegir els missatges. Jo no parlava dels missatges en trànsit, sinó d'un fitxer al meu disc xifrat amb una clau seua. (D'eixa confusió tracta el segon article.)
  • 1 de març, 13:00. Tornen a demanar el vídeo, ara adjunt. El seu servidor el rebota perquè passa de 20 MB. Quan ho explique, em diuen que no l'han rebut i que el límit és de 100 MB.
  • 4 de març. Escric tres vegades seguides que necessite que m'atenga una persona. Rep «base de datos corrupta», «ya respondimos tu pregunta» i «las copias más grandes demorarán». L'últim missatge de WhatsApp, el 5 de març a la una de la matinada, és una enquesta de satisfacció.

Les respostes arribaven des de set números de tiquet diferents. Cada una era un tiquet nou, sense la història dels anteriors. Per això demanaven, una vegada i una altra, informació que ja tenien.

Vaig publicar el cas a Reddit. Allí vaig descobrir que no era l'únic, ni de lluny.

Què tenia de veres la meua còpia

El 13 de març de 2024 vaig obtindre la clau (ho explique més avall) i vaig desxifrar la còpia del 18 de gener. Estes són les dades.

Els missatges hi eren tots. Eixien 1.701.082 missatges, del 16 de novembre de 2012 fins al 18 de gener de 2024 a les 10:07. Desxifrat, el fitxer fa 1,94 GB de SQLite.

Hi havia una inconsistència, però era minúscula. La comprovació d'integritat de SQLite (PRAGMA quick_check) diu que alguns índexs no quadren. La causa és una sola fila repetida en la taula user_device, que guarda quins dispositius té cada contacte, una taula pròpia del WhatsApp multidispositiu. Són 57.658 files, i n'hi ha una de duplicada que viola un índex UNIQUE. Els missatges no tenen cap problema. Els índexs són dades derivades, com l'índex d'un llibre: si es desquadren, es tornen a generar a partir del contingut.

He fet la prova en una còpia:

DELETE FROM user_device WHERE _id = 215478;   -- la fila duplicada
REINDEX;
INSERT INTO message_ftsv2(message_ftsv2) VALUES('rebuild');  -- índex de cerca
PRAGMA quick_check;   -- ok

Són uns 22 segons en un ordinador normal, i quick_check torna ok.

Els registres que WhatsApp mateix em va fer enviar diuen:

msgstore-manager/checkhealth no db;
exception=android.database.sqlite.SQLiteException: Unable to open writable db: failed to open db

No puc demostrar que la fila duplicada siga la causa de la fallada: no tinc el codi de WhatsApp. Però és l'única anomalia que trobe, i la tesi del suport no s'aguanta:

  • No era una còpia interrompuda. Una còpia tallada a mitges dona un fitxer truncat, i el xifratge autenticat (AES-GCM) el rebutjaria en desxifrar-lo. El meu fitxer desxifra perfectament.
  • La fila duplicada no l'he escrita jo. Sense root, en eixa base de dades només escriu WhatsApp. La inconsistència la va crear la mateixa aplicació.
  • La còpia no ho detectava i la restauració sí. WhatsApp generava i pujava cada dia una còpia que ell mateix no sabria restaurar, i deia que tot anava bé.

La curiositat dels 1000 MiB

Hi ha una altra coincidència que vaig detectar abans de recuperar la clau. Les còpies locals diàries dels dies anteriors feien:

Còpia Bytes MiB
13/01/2024 1.044.519.996 996,1
14/01/2024 1.045.799.515 997,4
15/01/2024 (06:35) 1.045.985.048 997,5
15/01/2024 (13:43) 1.045.523.278 997,1
18/01/2024 (la irrecuperable) 1.048.578.748 1000,003

La còpia que ja no es podia restaurar fa exactament 1000 MiB més 2.748 bytes. Caure per atzar a menys de 3 KB just per damunt d'un número tan redó és molt improbable. Pot ser un límit intern de mida mal gestionat en algun punt de la restauració. Tampoc ho puc demostrar.

Volia comprovar si la fila duplicada ja era en les còpies del 15 de gener, quan encara no arribaven als 1000 MiB. No he pogut: la clau que vaig obtindre en març no les obri. Entre el 15 i el 18 de gener la clau va canviar, probablement quan vaig esborrar la còpia de Google Drive i WhatsApp en va generar una de nova. Les meues còpies locals d'abans d'eixa data són, avui, fitxers que no puc llegir.

Siga quina siga la causa, les dues són errors de WhatsApp. Si hi ha un límit de mida, la còpia ho ha de dir quan es crea, no quan ja l'has de restaurar. Si és la fila duplicada, la restauració la podria reparar en segons, o la còpia la podria detectar.

La clau que «no es pot compartir»

La base de dades local de WhatsApp i les còpies normals de Google Drive (les que no són d'extrem a extrem) estan xifrades amb una clau que no té l'usuari. En un mòbil sense root no la pots llegir.

El 13 de març de 2024 vaig instal·lar WhatsApp en un mòbil rootejat, vaig verificar el meu número i vaig capturar la clau: un fitxer de 158 bytes (ho explique tot seguit). Amb eixa clau vaig desxifrar la còpia que havia fet un altre mòbil el 18 de gener. Això vol dir que la clau no viu al mòbil: la guarda WhatsApp als seus servidors i la dona a qualsevol mòbil que demostre que controla el número. És el que permet restaurar en un mòbil nou sense cap contrasenya. Ho documenten també els qui fan eines forenses: Elcomsoft explica que la clau la generen els servidors de WhatsApp la primera vegada que es fa una còpia.

Per tant, quan el suport deia que la clau «no es un dato que se pueda compartir», era literalment cert: la tenien, la donen de manera automàtica a l'aplicació, però no a la persona propietària de les dades. L'aplicació del meu mòbil podia llegir la meua història; jo no. Esta és exactament la pregunta del segon article: de qui és l'extrem?

Donar-me-la no els hauria costat res. WhatsApp ja lliura la clau automàticament a qualsevol mòbil que verifique el meu número, amb el PIN de verificació en dos passos si està activat. Oferir-la a la persona amb exactament les mateixes comprovacions no afegiria cap risc: qui pot restaurar la meua còpia en un mòbil nou ja la pot llegir. Seria un botó en els ajustos. De fet, amb la còpia d'extrem a extrem amb clau de 64 dígits ja accepten que l'usuari tinga la clau. En la còpia normal, simplement no ho oferixen. Per què, no ho sé. Pot ser per estalviar-se suport, per no facilitar que algú amb el teu mòbil desbloquejat s'emporte l'historial, o per no posar fàcil eixir de la plataforma. Són especulacions.

Com la vaig aconseguir

La clau no apareix mai en un mòbil normal. El que vaig fer va ser repetir la restauració en un mòbil rootejat i vigilar el directori privat de WhatsApp, /data/data/com.whatsapp/, on cap altra aplicació pot mirar.

Durant la restauració, WhatsApp escriu la clau en un fitxer d'eixe directori, perquè la necessita per a obrir la còpia. Quan la restauració falla, l'esborra. Hi ha, per tant, un interval breu en què la clau és al disc. Amb root, vaig poder copiar-la en eixe interval.

A partir d'ací, la resta és enginyeria coneguda. El fitxer crypt14 és una capçalera, una base de dades SQLite comprimida amb zlib i xifrada amb AES-GCM, i un segell d'autenticació. Hi ha eines lliures com wa-crypt-tools que, amb la clau, el desxifren. Vaig obtindre una base de dades SQLite de 1,94 GB amb tota la meua història.

Recuperar no és restaurar

Però tindre les dades no em va tornar el WhatsApp d'abans. No hi ha cap manera oficial de dir-li a WhatsApp «esta és la meua base de dades, importa-la». I, encara que la tornara a xifrar i la posara al seu lloc, WhatsApp s'estavellaria en el mateix 99 %.

Una base de dades SQLite de quasi 2 GB, a més, no és una interfície per a llegir converses. Per això vaig acabar fent-me un visor propi, que llig la història recuperada i la nova com si foren una sola i marca el forat de 44 dies entre les dues.

WhatsApp no va perdre les meues dades. Va perdre la capacitat de tornar-me-les.

El que li demanaríem a qualsevol sistema de còpies

Qualsevol persona que haja administrat sistemes sap què se li ha d'exigir a una còpia de seguretat. WhatsApp no complix quasi res:

Propietat habitual d'una còpia WhatsApp
Fer una còpia quan tu vulgues Sí, amb el botó «Guardar»
Còpies incrementals, amb versions a què tornar (ahir, fa una setmana, fa un mes) No: una sola còpia al núvol i unes poques locals que roten
Verificar la integritat de la còpia No
Fer una restauració de prova sense perdre res No
Restaurar només una part (un xat, fins a una data) No: tot o res
Llegir la còpia amb altres eines No: la clau la té WhatsApp
Congelar els canvis per a fer un tall net (el quiesce de les bases de dades) No: no es pot aturar la recepció de missatges
Un error que diga què ha fallat No: «no se pudieron restaurar tus chats»
Algú que puga intervenir quan tot falla No

La conseqüència és dura però exacta: amb WhatsApp és impossible canviar de mòbil amb la seguretat que no perdràs res. Pots reduir el risc, per exemple posant el mòbil vell en mode avió abans de l'última còpia. Però no hi ha manera de congelar el compte mentre migres, ni de comprovar que la còpia es restaurarà abans de dependre'n. Cada canvi de mòbil és un salt sense xarxa.

Les deficiències del sistema de còpies de WhatsApp

Més enllà del meu cas, el disseny de les còpies té problemes estructurals.

  1. No hi ha restauració de prova. No hi ha manera de comprovar que una còpia es pot restaurar sense restaurar-la de veres, i restaurar mou el compte al mòbil on ho fas. Te n'adones que la còpia no servix el dia que la necessites.
  2. La còpia diu «tot correcte» sense verificar res. La restauració fa comprovacions que la còpia no fa. El resultat són còpies que el mateix WhatsApp no sabrà restaurar, i cap avís.
  3. L'estat que mostra l'aplicació pot ser fals. Vaig esborrar la còpia des del web de Google Drive i WhatsApp continuava dient que hi havia una còpia de tants gigabytes feta a tal hora. Mostrava dades en memòria cau, no l'estat real.
  4. La migració pot destruir l'origen. La transferència entre Android va fallar i va invalidar la base de dades del mòbil vell. Una migració no hauria de tocar l'origen fins que el destí funciona.
  5. Tot o res. Si la restauració falla en l'últim pas, no n'obtens res: ni una restauració parcial, ni una exportació en text, ni un missatge d'error que diga què passa.
  6. Una sola còpia en el núvol. Cada còpia de Google Drive substituïx l'anterior. L'opció de «restaurar una còpia anterior» et demana triar un compte de Google, i en el mateix compte d'on acabava de baixar 19 GB em deia que no hi havia cap còpia.
  7. Les còpies locals són de poca ajuda. WhatsApp en guarda algunes de diàries al mòbil, però estan xifrades amb la clau del servidor. Si la clau canvia, les velles ja no es poden obrir. I restaurar-les exigix reanomenar fitxers i desconnectar Google Drive, un procediment que ni tan sols figura ja en l'ajuda oficial.
  8. L'historial no es pot fusionar. Si comences de zero perquè necessites comunicar-te, perds l'opció de recuperar l'historial dins de WhatsApp.
  9. Exportar un xat no és fer una còpia. L'exportació genera un text per a llegir o arxivar, però no es pot tornar a importar per a continuar la conversa en un altre mòbil.
  10. No es pot congelar la recepció durant una migració. Entre l'última còpia i l'activació del mòbil nou, els missatges que arriben al vell poden quedar fora de la còpia. No hi ha cap mode «retín els missatges fins que acabe la migració».
  11. El suport no té accés a cap tècnic, o no el vol donar. Ni pagant. L'ajuda oficial ja t'ho avisa: WhatsApp no pot restaurar els teus xats perquè no estan als seus servidors, i no pot restaurar una còpia corrupta. I els termes del servei diuen que el servei es presta «tal com és» («as is»), sense garanties.

«Restaurar copia anterior»: en el mateix compte de Google d'on acabava de baixar la còpia, «No se encontró una copia de seguridad». He tapat l'adreça.
«Restaurar copia anterior»: en el mateix compte de Google d'on acabava de baixar la còpia, «No se encontró una copia de seguridad». He tapat l'adreça.

A més, la còpia té limitacions que convé conéixer:

  • Missatges i multimèdia van per separat. La base de dades msgstore*.db.cryptXX porta els missatges i les metadades. Les fotos, vídeos, àudios i documents van a la carpeta Media. Una còpia completa necessita les dues coses. L'avantatge és que els mitjans es poden copiar a banda i tornar a col·locar: si els noms i les rutes coincidixen, WhatsApp els torna a mostrar.
  • Una còpia és una instantània. Si arriba un missatge mentre es fa, pot quedar fora. En una migració, el més net és deixar que el mòbil vell reba tot el que tinga pendent, tallar-li l'accés a la xarxa a WhatsApp (mode avió o un tallafocs per aplicació), fer la còpia local definitiva i copiar Databases i Media fora del mòbil. El que t'envien després queda pendent fins que el mòbil nou es connecta.

No és un cas aïllat

Quan vaig contar el meu cas a Reddit, en febrer de 2024, vaig descobrir que no era l'únic. Buscant-ne més, hi ha testimonis públics d'altres persones, durant anys, en Android i en iPhone. Són relats d'usuaris: no diuen amb quina freqüència passa ni si la causa és sempre la mateixa, però mostren que el patró es repetix.

  • La còpia es veu, es baixa i no es restaura. Una còpia d'11,2 GB que WhatsApp detecta, baixa al 100 % i després no pot restaurar, tampoc en un segon mòbil (Reddit, setembre de 2026). Còpies fetes «correctament» que després no es restauren (Google Drive Community, 2022, amb 29 persones més que tenien el mateix problema; 2025; 2026). Una restauració de 9,6 GB després de la qual no apareix res; entre el que es va perdre, un missatge d'una mare morta (Reddit, juliol de 2026).
  • Una dècada salvada per les còpies locals. Algú que va estar a punt de perdre deu anys de converses perquè la còpia de Google Drive estava trencada i ho va salvar amb els fitxers del mòbil vell. Es queixa del mateix que jo: al núvol només hi ha una còpia (Reddit, agost de 2024).
  • La transferència oficial que ho esborra tot. «Transfer Chats» falla a mitjan procés, Google Drive diu que no hi ha còpia i el mòbil vell ja ha quedat desconnectat: set anys perduts (Reddit, gener de 2026). És la mateixa seqüència que la meua.
  • La còpia bona, sobreescrita per una de buida. WhatsApp diu que té problemes per a llegir l'historial, el «recupera» buit i la còpia automàtica següent xafa la bona (Apple Community, 2017, amb 508 «a mi també»).
  • En iPhone, igual. Una còpia de 8,3 GB a iCloud, amb converses des de 2012 amb uns pares ja morts, i WhatsApp diu que no hi ha cap còpia, també en un altre iPhone (Reddit, abril de 2025). Xats restaurats, però sense 14 GB de fotos i vídeos (Apple Community, 2020).

El 99 % és un error conegut. El «Finalitzant 99 %» que em va passar a mi apareix any rere any. En 2021, WABetaInfo, la web que seguix de prop cada versió de WhatsApp, ja explicava que en Android la restauració es quedava sovint encallada al 99 % (maig de 2021). Mesos després, sobre les que s'encallaven al 100 %, afegia que, un any després, la causa encara era desconeguda i que l'usuari no tenia més remei que rendir-se i perdre tot l'historial (octubre de 2021). Hi ha hagut onades. En juny de 2023, l'aplicació obligava a restaurar i després es penjava (Hacker News; Canaltech). En febrer de 2025, en els Galaxy S25, les restauracions fallaven «al 99 %» (XDA). En març de 2025, la revista heise informava de nombroses queixes per restauracions de Google Drive que no acabaven, amb risc de perdre historials, fotos i vídeos (també en fòrums italians i alemanys). En iPhone, una actualització de 2023 va impedir restaurar des d'iCloud i es va corregir sense dir-ho en les notes de la versió (WABetaInfo). Encara en 2026, un redactor de Xataka escrivia que la còpia de WhatsApp «no siempre funciona correctamente, es susceptible de que dé error (me ocurre a menudo)» (Xataka Móvil). I quan falla, Google i WhatsApp es passen la pilota: a un cas d'encallament al 99 %, un expert voluntari del fòrum de Google Drive responia que no poden ajudar a restaurar còpies de WhatsApp (Google Drive Community, 2023).

La causa no sempre és la còpia. En l'onada dels Galaxy S25 de 2025, el responsable global de la comunitat de Samsung va confirmar als usuaris que WhatsApp coneixia el problema de restauració en eixos mòbils i hi estava treballant (Samsung Members Brasil). Un usuari hi explicava que la restauració fallava al 49 % i ho havia perdut tot. En agost de 2026, algú comprovava que la mateixa còpia de Google Drive que fallava una vegada i una altra en un S25 es restaurava sense problemes en un altre mòbil (Samsung Members Índia). És a dir, «la teua còpia està corrupta» no és l'única explicació possible, per molt que siga la resposta de plantilla.

Al Brasil ho han hagut de resoldre els jutjats. En 2023, un jutjat de Curitiba va condemnar Facebook a pagar 3.000 reals a un usuari per una fallada en la còpia de WhatsApp i a recuperar-li les dades en 15 dies (Migalhas). En 2021, el tribunal de l'estat de São Paulo havia condemnat Apple a pagar 5.000 reals a un usuari que va perdre la còpia de WhatsApp després d'actualitzar l'iOS (MacMagazine). En 2026, una usuària de Rio de Janeiro denunciava a Reclame Aqui, el gran portal brasiler de reclamacions, que la restauració es va penjar al 66 % i que, després, la còpia ja no existia ni a Google Drive ni al mòbil. Entre les converses perdudes n'hi havia amb persones que ja han mort. WhatsApp ni tan sols hi ha contestat (Reclame Aqui). Olhar Digital, un mitjà tecnològic brasiler, ho resumia així: «Não existem redundâncias e muito menos proteção contra falhas. Ao perder o backup, não há mais como o recuperar» (Olhar Digital, 2024).

I no tot són relats. L'ajuda oficial de WhatsApp reconeix que els xats guarden records estimats i que perdre'ls és angoixant; que una còpia pot quedar corrupta i que WhatsApp no la pot restaurar ni saber per què s'ha corromput; i que el compte de Google només guarda una còpia per número i cada còpia nova sobreescriu l'anterior. La guia de Google per a passar WhatsApp a un mòbil nou avisa: «WhatsApp no garantiza que tus chats y transferencias de datos se transfieran correctamente». Això sí, també afirma que WhatsApp no elimina les dades durant una transferència i que no es perden si hi ha un error. En el meu cas, i en el dels set anys de dalt, va passar just això.

També hi ha errors documentats per investigadors. En 2019, Check Point va trobar un missatge que feia petar WhatsApp en bucle i obligava a esborrar el grup amb tot el seu historial (The Register). Ja està corregit, però demostra que un error del programa pot fer perdre historial per sempre.

Què faria ara

  • Activar la còpia xifrada d'extrem a extrem amb la clau de 64 dígits, i guardar la clau. WhatsApp oferix tres modalitats (clau d'accés, contrasenya o clau de 64 dígits); la de 64 dígits és l'única en què tens la clau a la mà. Amb ella, eines lliures com wa-crypt-tools poden desxifrar la còpia sense demanar res a ningú.
  • Traure còpies fora del mòbil periòdicament. Base de dades i multimèdia, conservant diverses generacions i sense deixar que WhatsApp decidisca quan s'esborren. Per exemple, amb Termux, SSH i rsync. És el que faig des d'aleshores (ho conte tot seguit).
  • No deixar que cap assistent de migració toque l'única còpia que tens. El mòbil vell no es toca fins que el nou funciona del tot.
  • No esperar res del suport. En el meu cas, l'única persona que el va llegir va prometre una cosa que no va complir.

Com ho tinc muntat ara

Des d'aleshores, WhatsApp ja no és l'únic custodi de la meua història. Tinc activada la còpia xifrada d'extrem a extrem amb la clau de 64 dígits, i la clau la tinc jo.

Cada vegada que el mòbil fa la còpia, en principi una al dia, passa açò:

  1. Un script al mòbil (en Termux) copia per rsync la carpeta de WhatsApp a un servidor meu, una Raspberry Pi. Hi van les bases de dades i la multimèdia. El que desapareix del mòbil no s'esborra al servidor: es guarda a banda.
  2. El servidor desxifra la còpia amb la meua clau i comprova la integritat de la base de dades (PRAGMA integrity_check). Esta comprovació hauria detectat la fila duplicada de 2024 el mateix dia que va aparéixer. No és una restauració de prova dins de WhatsApp, que continua sent impossible, però garantix que les dades són íntegres i llegibles.
  3. Bolca la base de dades taula per taula en fitxers SQL i en fa un commit en un repositori Git. Cada còpia queda com una versió: puc tornar a qualsevol dia, veure què ha canviat o recuperar un missatge esborrat.
  4. Publica l'esquema de la base de dades, que canvia amb les versions de WhatsApp, en un repositori públic: rsalinas/whatsapp-db-schema. Cada commit és un canvi d'esquema detectat.
  5. Actualitza un visor web propi, on llig tota la meua història, la recuperada i l'actual, sense dependre de l'aplicació de WhatsApp.
  6. M'envia un correu amb el resultat: «fet» o «fallit».

Figura 2
Figura 2

Les propietats de la taula d'abans que WhatsApp no oferix (versions, verificació, lectura amb altres eines, recuperació parcial) me les he hagut de fer jo. El codi no el publique, però la idea la pot reproduir qualsevol persona amb una mica de Linux.

Amb este sistema, WhatsApp podria llevar-me demà la possibilitat de fer còpies noves: canviar el format, retirar la clau de 64 dígits o tancar-me el compte. Però el que ja tinc descarregat és meu. Sobre la meua història tinc, per fi, sobirania.

I no és només tranquil·litat. Eixes dades m'han sigut útils per a moltes coses. Amb ajuda d'una IA m'he fet una aplicació que em permet consultar el meu magatzem de missatges de moltes maneres i fer-ne bolcats aptes per a una IA, per a demanar-li resums d'una conversa, d'un grup o d'una època.

Conclusió

WhatsApp va estar a punt de fer-me perdre onze anys de converses: amb la família i altres éssers estimats, amb amics, de feina, d'associacions. Un historial de missatgeria ja no és «dades»: és correspondència personal, notes de veu, fotos, memòria. Quan el que desapareix són els missatges d'algú que ja no hi és, la investigadora Debra Bassett, que estudia el dol i el llegat digital, en parla com d'una «segona pèrdua» (The Conversation).

No va ser un accident meu. La causa va ser una cadena d'errors del seu programari: una còpia que no es verificava, una restauració que moria al 99%, una migració que destruïa l'origen i un suport que no escoltava.

Vaig recuperar-ho tot perquè sé rootejar un mòbil, capturar una clau i llegir una base de dades SQLite. La majoria de la gent no en sap. Per a la majoria, esta història hauria acabat el 2 de març amb un compte buit i la conclusió «he perdut onze anys de WhatsApp». Si les dades existixen però només un especialista les pot recuperar, fins a quin punt ha complit la còpia la seua funció?

El problema no és el xifratge. Que WhatsApp no puga llegir les meues converses és una bona propietat. El problema és que confidencialitat i recuperabilitat són coses diferents, i el disseny sacrifica la segona sense necessitat: una còpia verificable, una restauració de prova, una recuperació parcial o una clau en mans de l'usuari no farien les converses menys privades.

Les dades sempre van ser meues. La clau, no.


Annex: cronologia completa

Hores locals (Espanya). «Jo» vol dir un correu meu; «WA», una resposta de WhatsApp. En negreta, els fets que no són correus.

Data Hora Qui Què
16/11/2012 Primer missatge de la història que es perdrà.
13-15/01/2024 Còpies locals diàries; copie la carpeta de WhatsApp a l'ordinador amb adb. Primers intents de restaurar al Pixel 8.
15-16/01 Jo Des de l'aplicació: no puc restaurar la còpia al Pixel 8; he esborrat la còpia de Drive perquè es regenere i he restablit el mòbil.
16/01 09:55 WA Instruccions per a passar d'Android a iPhone. «No es posible combinar el historial antiguo con el nuevo.»
16/01 22:49 WA Enquesta de satisfacció.
18/01 10:07 Últim missatge de la història antiga.
18/01 10:49 Última còpia a Google Drive (20,5 GB). La transferència per Wi-Fi falla i invalida la base de dades del mòbil vell.
18/01 14:40 WA «Reproduce el problema y envía los registros.»
18/01 19:22 Jo Informe des de l'aplicació, amb registres i captures.
18/01 19:24 WA Actualitza Google Play Services.
19/01 10:08 Jo Ja està actualitzat; falla igual. Pot haver-hi alguna cosa que la còpia no verifica i la restauració sí?
19/01 14:43 WA Les còpies grans tarden a baixar.
22/01 09:20 Jo Des de l'aplicació, en anglés: continue sense poder restaurar.
22/01 14:19 WA La base de dades està corrupta (per interrupció o tancament forçat).
22/01 16:06 Jo No he interromput res. Oferisc la còpia de 30 GB de la memòria del mòbil.
22/01 16:11 WA No es pot fer còpia des de WhatsApp Web. «No podemos ayudarte a restaurar tus chats.»
22/01 16:15 Jo La còpia és de la memòria del mòbil. Es pot reaprofitar?
22/01 16:22 WA «Ya respondimos tu pregunta»; envia una captura o un vídeo.
22/01 16:42 Jo «¿Me está atendiendo un sistema automatizado de IA?» Relat complet i petició d'escalat.
22/01 17:53 WA Base de dades corrupta (mateix text).
23/01 09:08 Jo El relat en anglés: «Please escalate this.»
24/01 09:21 Jo Reenvie el relat a l'adreça de suport d'Android.
25/01 14:47 Jo Des de l'aplicació: els puc enviar les dades perquè les reparen?
29/01 10:08 Jo «Please decrypt my msgstore.db.crypt14»: la clau, o que la desxifren ells.
29/01 17:29 WA (persona) Passa el cas a Producte. La clau no es pot compartir. El root no l'aconsella. Promet notícies.
29/01 22:20 Jo Agraïment.
05/02 12:22 Jo Una setmana sense notícies; gairebé tres setmanes sense WhatsApp.
10/02 17:59 Jo Des de l'aplicació, al mòbil vell: ara l'aplicació es mor.
13/02 17:07 Jo Prove WhatsApp Business: el mateix error.
13/02 17:10 WA El compte està actiu i no té cap problema.
13/02 17:58 Jo El problema és que no puc restaurar deu anys de missatges.
13/02 17:59 WA Quin és el número de telèfon?
13/02 18:11 Jo El número (ja anava en els registres). Només demane que desxifren la base de dades.
13/02 18:14 WA El compte està actiu i no té cap problema.
13/02 18:15 Jo «Parece que me esté contestando una IA como un disco rayado.»
13/02 18:16 WA Desinstal·la, reinstal·la i toca «Restaurar». No et podem ajudar.
13/02 18:25 Jo A la persona del 29/01: ha mirat el cas l'equip de Producte?
13/02 18:25 WA La mateixa plantilla de reinstal·lar.
14/02 06:23 WA Enquesta de satisfacció.
14/02 06:39 WA Enquesta de satisfacció.
19/02 10:29 Jo Des de l'aplicació: la restauració es mor. Estic disposat a pagar.
19/02 12:04 WA Envia un vídeo.
20/02 21:20 Jo El vídeo, a YouTube.
20/02 21:24 WA Les còpies grans tarden a baixar.
20/02 21:33 Jo Que el mire una persona. Ho he provat en tres mòbils.
20/02 21:34 WA Com restaurar una còpia local reanomenant fitxers.
29/02 Publique el cas a Reddit.
01/03 12:12 Jo Deu dies sense resposta. Enllace el fil de Reddit i torne a demanar que desxifren la base de dades.
01/03 12:14 WA Explicació del xifratge d'extrem a extrem: «ni siquiera WhatsApp».
01/03 12:17 Jo No confonguen el xifratge en trànsit amb el de la base de dades local.
01/03 12:36 WA No tenim prou informació: número, model, passos, vídeo.
01/03 12:48 Jo Ja ho tenen tot, també en el vídeo.
01/03 12:53 WA Envia un vídeo.
01/03 13:00 Jo Adjunte el vídeo: el seu servidor el rebota (límit de 20 MB).
01/03 13:11 Jo Com l'envie, doncs?
01/03 13:17 WA No hem rebut l'adjunt; el límit és de 100 MB.
01/03 13:20 Jo El vídeo reduït a uns 5 MB.
01/03 13:38 WA Les còpies grans tarden a baixar.
01/03 15:26 Jo Logcat en un Xiaomi Mi A1: SQLiteException: Unable to open writable db. El fitxer fa 1.048.578.748 bytes: hi ha un límit de mida?
01/03 15:28 WA Reproduïx el problema i envia els registres.
02/03 10:54 Últim intent de restaurar, al mòbil vell. Comencen a entrar els missatges pendents.
02/03 11:16 Falla una altra vegada. Toque «Ometre»: compte nou, sense historial. Fi dels 44 dies sense WhatsApp.
04/03 08:06 Jo Registres nous, la pista dels 1000 MB i oferta de pagar.
04/03 08:07 WA Acús de rebut automàtic.
04/03 11:04 WA Base de dades corrupta.
04/03 11:44 Jo La còpia no es va interrompre. Hi ha límit de mida? Només demane la clau.
04/03 11:48 WA «Ya respondimos tu pregunta»; envia una captura o un vídeo.
04/03 11:51 Jo Necessite que m'atenga una persona.
04/03 11:57 WA Les còpies grans tarden a baixar.
04/03 12:58 Jo Necessite que m'atenga una persona.
05/03 01:05 WA Enquesta de satisfacció. Últim missatge de WhatsApp.
13/03 Amb un mòbil rootejat obtinc la clau i desxifre la còpia del 18/01: 1.701.082 missatges.