Hola a todos,
He creado un nuevo módulo plenamente funcional y probado de verifactu para dolibarr, podéis descargarlo grátis desde https://github.com/garacil/verifactu
Espero que sea de utilidad para más de uno.
Saludos cordiales,
Germán Aracil
Módulo Verifactu Libre y Gratis
-
tecnoxarxa
- Novato
- Mensajes: 9
- Registrado: Sab, 06/12/2025, 03:03
Buenos días.
El módulo posteado se encuentra protegido por la normativa en materia de propiedad intelectual.
Su uso no autorizado tendrá como respuesta el ejercicio de las acciones penales y civiles que en Derecho amparen a su legítimo titular y/o comercializador.
Se requiere al autor del post la retirada inmediata del mismo y su abstención en la reiteración de su ilegitimo proceder
Muchas gracias.
El módulo posteado se encuentra protegido por la normativa en materia de propiedad intelectual.
Su uso no autorizado tendrá como respuesta el ejercicio de las acciones penales y civiles que en Derecho amparen a su legítimo titular y/o comercializador.
Se requiere al autor del post la retirada inmediata del mismo y su abstención en la reiteración de su ilegitimo proceder
Muchas gracias.
-
tecnoxarxa
- Novato
- Mensajes: 9
- Registrado: Sab, 06/12/2025, 03:03
Estimado Sr. Alberto Luque Rivas,
Acuso recibo de su comunicación en la que alega derechos de propiedad intelectual sobre el código del módulo VeriFactu.
RESPUESTA A SUS ALEGACIONES:
================================================================================
1. SOBRE LA LICENCIA GPL v3 - IRREVOCABILIDAD
================================================================================
El código fuente del módulo "verifactu" que usted distribuyó contiene explícitamente en sus cabeceras la siguiente declaración de licencia:
"This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version."
CITA TEXTUAL GPL v3 - Sección 2 (Permisos Básicos):
"All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met."
[Traducción: "Todos los derechos otorgados bajo esta Licencia se conceden
por el período de vigencia del copyright sobre el Programa, y son
IRREVOCABLES siempre que se cumplan las condiciones establecidas."]
CITA TEXTUAL GPL v3 - Sección 10 (Licenciamiento Automático):
"Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License."
[Traducción: "Cada vez que transmita una obra cubierta, el receptor
recibe automáticamente una licencia de los licenciantes originales
para ejecutar, modificar y propagar dicha obra, sujeto a esta Licencia."]
Una vez que usted distribuyó el código bajo GPL v3, los derechos concedidos
NO PUEDEN SER REVOCADOS. Cualquier receptor tiene derecho perpetuo a:
- Usar el software
- Estudiar el código fuente
- Modificarlo
- Redistribuirlo (bajo los mismos términos GPL)
================================================================================
2. DERECHOS EXPRESAMENTE CONCEDIDOS POR LA GPL v3
================================================================================
CITA TEXTUAL GPL v3 - Sección 5 (Transmisión de Versiones Modificadas):
"You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it,
and giving a relevant date.
b) The work must carry prominent notices stating that it is released
under this License and any conditions added under section 7.
c) You must license the entire work, as a whole, under this License
to anyone who comes into possession of a copy."
[Traducción: "Puede transmitir una obra basada en el Programa, o las
modificaciones para producirla a partir del Programa, en forma de
código fuente bajo los términos de la sección 4, siempre que también
cumpla todas estas condiciones:
a) La obra debe llevar avisos prominentes indicando que la modificó,
y dando una fecha relevante.
b) La obra debe llevar avisos prominentes indicando que se publica
bajo esta Licencia y cualquier condición añadida bajo la sección 7.
c) Debe licenciar toda la obra, como un todo, bajo esta Licencia
a cualquiera que obtenga una copia."]
NUESTRO FORK CUMPLE TODAS ESTAS CONDICIONES:
✓ Se mantiene la licencia GPL v3
✓ Se preserva la atribución al autor original en TODOS los archivos
✓ Se documenta el origen del código en el README
✓ Se indica la fecha y naturaleza de las modificaciones
✓ Se distribuye el código fuente completo
================================================================================
3. SOBRE SUS AMENAZAS DE ACCIONES LEGALES - MARCO LEGAL ESPAÑOL
================================================================================
Le informo que no existe base legal para acciones penales ni civiles cuando
se ejerce un derecho expresamente concedido por licencia.
REAL DECRETO LEGISLATIVO 1/1996 - Ley de Propiedad Intelectual
Artículo 100 - Límites a los derechos de explotación:
"1. No necesitarán autorización del titular, salvo disposición contractual
en contrario, el usuario legítimo de la copia de un programa para:
a) La reproducción o transformación, incluida la corrección de errores,
cuando dichos actos sean necesarios para la utilización del programa
por parte del usuario legítimo.
b) La realización de una copia de seguridad por parte del usuario legítimo
que sea necesaria para la utilización del programa."
Artículo 99 - Derechos de explotación:
"Sin perjuicio de lo dispuesto en el artículo 100 de esta Ley,
corresponden al titular de los derechos de autor sobre un programa
de ordenador, o al cesionario en exclusiva de los derechos de explotación,
la realización o autorización de:
a) La reproducción total o parcial
b) La traducción, adaptación, arreglo o cualquier otra transformación
c) Cualquier forma de distribución pública"
IMPORTANTE: La GPL v3 es precisamente esa "autorización" del titular.
Usted, como titular, autorizó expresamente estos actos al aplicar la GPL v3.
DIRECTIVA 2009/24/CE - Protección jurídica de programas de ordenador
Artículo 5 - Excepciones a los actos sujetos a restricciones:
"Salvo que existan disposiciones contractuales específicas, no
necesitarán la autorización del titular los actos indicados en las
letras a) y b) del apartado 1 del artículo 4 cuando dichos actos
sean necesarios para la utilización del programa de ordenador por
parte del adquirente legítimo con arreglo a su finalidad propuesta,
incluida la corrección de errores."
================================================================================
4. LAS AMENAZAS INFUNDADAS PUEDEN CONSTITUIR DELITO
================================================================================
CÓDIGO PENAL - Artículo 172 (Coacciones):
"1. El que, sin estar legítimamente autorizado, impidiere a otro con
violencia hacer lo que la ley no prohíbe, o le compeliere a efectuar
lo que no quiere, sea justo o injusto, será castigado con la pena de
prisión de seis meses a tres años o con multa de 12 a 24 meses."
LEY 3/1991 DE COMPETENCIA DESLEAL - Artículo 9 (Actos de denigración):
"Se considera desleal la realización o difusión de manifestaciones
sobre la actividad, las prestaciones, el establecimiento o las
relaciones mercantiles de un tercero que sean aptas para menoscabar
su crédito en el mercado, a no ser que sean exactas, verdaderas y
pertinentes."
CÓDIGO CIVIL - Artículo 7.2 (Abuso de derecho):
"La Ley no ampara el abuso del derecho o el ejercicio antisocial
del mismo. Todo acto u omisión que por la intención de su autor,
por su objeto o por las circunstancias en que se realice sobrepase
manifiestamente los límites normales del ejercicio de un derecho,
con daño para tercero, dará lugar a la correspondiente indemnización
y a la adopción de las medidas judiciales o administrativas que
impidan la persistencia en el abuso."
================================================================================
5. POSIBLES INCUMPLIMIENTOS DE LA GPL v3 POR SU PARTE
================================================================================
Se han identificado archivos en SU módulo que carecen de cabecera de licencia:
- lib/functions/funciones.utilidades.php
- lib/functions/funciones.certificados.php
- lib/functions/funciones.conectorCertificados.php
CITA TEXTUAL GPL v3 - Sección 5c:
"You must license the entire work, as a whole, under this License
to anyone who comes into possession of a copy. This License will
therefore apply [...] to the whole of the work, and all its parts,
regardless of how they are packaged."
[Traducción: "Debe licenciar toda la obra, como un todo, bajo esta
Licencia a cualquiera que obtenga una copia. Esta Licencia se
aplicará por tanto [...] a toda la obra, y todas sus partes,
independientemente de cómo estén empaquetadas."]
CITA TEXTUAL GPL v3 - Sección 5 (continuación):
"A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
'aggregate' if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit."
Distribuir código sin licencia (potencialmente propietario) COMBINADO y
FUNCIONALMENTE INTEGRADO con código GPL constituye una VIOLACIÓN de la GPL v3.
CONSECUENCIA LEGAL: Si usted incluyó código propietario dentro de un
proyecto GPL, USTED estaría violando la licencia, no nosotros.
================================================================================
6. VIOLACIONES DEL RGPD EN SU MÓDULO
================================================================================
Su módulo transmite datos a rd.sgestion.net SIN consentimiento:
REGLAMENTO (UE) 2016/679 (RGPD) - Artículo 6 (Licitud del tratamiento):
"1. El tratamiento solo será lícito si se cumple al menos una de las
siguientes condiciones:
a) el interesado dio su consentimiento para el tratamiento de sus
datos personales para uno o varios fines específicos;
[...]"
RGPD - Artículo 7 (Condiciones para el consentimiento):
"1. Cuando el tratamiento se base en el consentimiento del interesado,
el responsable deberá ser capaz de demostrar que aquel consintió el
tratamiento de sus datos personales.
2. Si el consentimiento del interesado se da en el contexto de una
declaración escrita que también se refiera a otros asuntos, la
solicitud de consentimiento se presentará de tal forma que se
distinga claramente de los demás asuntos, de forma inteligible y
de fácil acceso y utilizando un lenguaje claro y sencillo."
RGPD - Artículo 13 (Información que deberá facilitarse):
"1. Cuando se obtengan de un interesado datos personales relativos
a él, el responsable del tratamiento, en el momento en que estos
se obtengan, le facilitará toda la información indicada a continuación:
a) la identidad y los datos de contacto del responsable [...]
b) los fines del tratamiento a que se destinan los datos personales
c) los destinatarios o las categorías de destinatarios de los datos
d) [...] la intención del responsable de transferir datos personales
a un tercer país u organización internacional"
RGPD - Artículo 83 (Condiciones generales para la imposición de multas):
"4. Las infracciones de las disposiciones siguientes se sancionarán
[...] con multas administrativas de 10.000.000 EUR como máximo o,
tratándose de una empresa, de una cuantía equivalente al 2% como
máximo del volumen de negocio total anual global [...]
5. Las infracciones de las disposiciones siguientes se sancionarán
[...] con multas administrativas de 20.000.000 EUR como máximo o,
tratándose de una empresa, de una cuantía equivalente al 4% como
máximo del volumen de negocio total anual global [...]"
LEY ORGÁNICA 3/2018 (LOPDGDD) - Artículo 72 (Infracciones muy graves):
"1. En función de lo que establece el artículo 83.5 del Reglamento
(UE) 2016/679 se consideran muy graves y prescribirán a los tres
años las infracciones que supongan una vulneración sustancial de
los artículos mencionados en aquel y, en particular, las siguientes:
a) El tratamiento de datos personales vulnerando los principios y
garantías establecidos en el artículo 5 del Reglamento (UE) 2016/679.
b) El tratamiento de datos personales sin que concurra alguna de las
condiciones de licitud del tratamiento establecidas en el artículo 6
del Reglamento (UE) 2016/679."
================================================================================
7. CONCLUSIÓN
================================================================================
Su comunicación CARECE DE FUNDAMENTO JURÍDICO.
1. El código fue LEGÍTIMAMENTE obtenido mediante compra del módulo.
2. Se utiliza CONFORME a la licencia GPL v3 que USTED ELIGIÓ APLICAR.
3. La GPL v3 es IRREVOCABLE una vez el código ha sido distribuido.
4. Nuestro fork CUMPLE TODAS las obligaciones de la GPL v3.
5. Sus amenazas podrían constituir coacciones y/o competencia desleal.
6. USTED podría estar violando la GPL al incluir código sin licencia.
7. USTED podría estar violando el RGPD al transmitir datos sin consentimiento.
Le recomiendo encarecidamente:
- Consultar con un abogado especializado en software libre
- Revisar las implicaciones de la licencia GPL v3
- Solucionar las violaciones del RGPD en su módulo
- Abstenerse de realizar amenazas infundadas
Quedamos a su disposición para cualquier aclaración técnica.
Atentamente,
---
P.D.: Esta comunicación y toda la documentación técnica relacionada
(incluyendo los informes verifactu_code_comparison_report.txt,
verifactu_non_gpl_similarities.txt y rd10072023.md) quedan archivadas
como evidencia ante cualquier procedimiento que usted decida iniciar.
================================================================================
REFERENCIAS LEGALES CITADAS:
================================================================================
- GNU General Public License v3.0
https://www.gnu.org/licenses/gpl-3.0.html
- Reglamento (UE) 2016/679 (RGPD)
https://eur-lex.europa.eu/legal-content ... 32016R0679
- Ley Orgánica 3/2018, de 5 de diciembre (LOPDGDD)
https://www.boe.es/buscar/act.php?id=BOE-A-2018-16673
- Real Decreto Legislativo 1/1996 (Ley de Propiedad Intelectual)
https://www.boe.es/buscar/act.php?id=BOE-A-1996-8930
- Directiva 2009/24/CE (Protección de programas de ordenador)
https://eur-lex.europa.eu/legal-content ... 32009L0024
- Ley Orgánica 10/1995 (Código Penal)
https://www.boe.es/buscar/act.php?id=BOE-A-1995-25444
- Ley 3/1991, de 10 de enero (Competencia Desleal)
https://www.boe.es/buscar/act.php?id=BOE-A-1991-628
- Real Decreto de 24 de julio de 1889 (Código Civil)
https://www.boe.es/buscar/act.php?id=BOE-A-1889-4763
Además su módulo rd10072023 del realdecreto incumple y viola leyes de privacidad además de comprometer la seguridad del sistema del cliente. Enviando información sin petición explícita al usuario para dar su consentimiento y permitiendo a terceros acceder a esa información desde cualquier parte de internet.
Acuso recibo de su comunicación en la que alega derechos de propiedad intelectual sobre el código del módulo VeriFactu.
RESPUESTA A SUS ALEGACIONES:
================================================================================
1. SOBRE LA LICENCIA GPL v3 - IRREVOCABILIDAD
================================================================================
El código fuente del módulo "verifactu" que usted distribuyó contiene explícitamente en sus cabeceras la siguiente declaración de licencia:
"This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version."
CITA TEXTUAL GPL v3 - Sección 2 (Permisos Básicos):
"All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met."
[Traducción: "Todos los derechos otorgados bajo esta Licencia se conceden
por el período de vigencia del copyright sobre el Programa, y son
IRREVOCABLES siempre que se cumplan las condiciones establecidas."]
CITA TEXTUAL GPL v3 - Sección 10 (Licenciamiento Automático):
"Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License."
[Traducción: "Cada vez que transmita una obra cubierta, el receptor
recibe automáticamente una licencia de los licenciantes originales
para ejecutar, modificar y propagar dicha obra, sujeto a esta Licencia."]
Una vez que usted distribuyó el código bajo GPL v3, los derechos concedidos
NO PUEDEN SER REVOCADOS. Cualquier receptor tiene derecho perpetuo a:
- Usar el software
- Estudiar el código fuente
- Modificarlo
- Redistribuirlo (bajo los mismos términos GPL)
================================================================================
2. DERECHOS EXPRESAMENTE CONCEDIDOS POR LA GPL v3
================================================================================
CITA TEXTUAL GPL v3 - Sección 5 (Transmisión de Versiones Modificadas):
"You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it,
and giving a relevant date.
b) The work must carry prominent notices stating that it is released
under this License and any conditions added under section 7.
c) You must license the entire work, as a whole, under this License
to anyone who comes into possession of a copy."
[Traducción: "Puede transmitir una obra basada en el Programa, o las
modificaciones para producirla a partir del Programa, en forma de
código fuente bajo los términos de la sección 4, siempre que también
cumpla todas estas condiciones:
a) La obra debe llevar avisos prominentes indicando que la modificó,
y dando una fecha relevante.
b) La obra debe llevar avisos prominentes indicando que se publica
bajo esta Licencia y cualquier condición añadida bajo la sección 7.
c) Debe licenciar toda la obra, como un todo, bajo esta Licencia
a cualquiera que obtenga una copia."]
NUESTRO FORK CUMPLE TODAS ESTAS CONDICIONES:
✓ Se mantiene la licencia GPL v3
✓ Se preserva la atribución al autor original en TODOS los archivos
✓ Se documenta el origen del código en el README
✓ Se indica la fecha y naturaleza de las modificaciones
✓ Se distribuye el código fuente completo
================================================================================
3. SOBRE SUS AMENAZAS DE ACCIONES LEGALES - MARCO LEGAL ESPAÑOL
================================================================================
Le informo que no existe base legal para acciones penales ni civiles cuando
se ejerce un derecho expresamente concedido por licencia.
REAL DECRETO LEGISLATIVO 1/1996 - Ley de Propiedad Intelectual
Artículo 100 - Límites a los derechos de explotación:
"1. No necesitarán autorización del titular, salvo disposición contractual
en contrario, el usuario legítimo de la copia de un programa para:
a) La reproducción o transformación, incluida la corrección de errores,
cuando dichos actos sean necesarios para la utilización del programa
por parte del usuario legítimo.
b) La realización de una copia de seguridad por parte del usuario legítimo
que sea necesaria para la utilización del programa."
Artículo 99 - Derechos de explotación:
"Sin perjuicio de lo dispuesto en el artículo 100 de esta Ley,
corresponden al titular de los derechos de autor sobre un programa
de ordenador, o al cesionario en exclusiva de los derechos de explotación,
la realización o autorización de:
a) La reproducción total o parcial
b) La traducción, adaptación, arreglo o cualquier otra transformación
c) Cualquier forma de distribución pública"
IMPORTANTE: La GPL v3 es precisamente esa "autorización" del titular.
Usted, como titular, autorizó expresamente estos actos al aplicar la GPL v3.
DIRECTIVA 2009/24/CE - Protección jurídica de programas de ordenador
Artículo 5 - Excepciones a los actos sujetos a restricciones:
"Salvo que existan disposiciones contractuales específicas, no
necesitarán la autorización del titular los actos indicados en las
letras a) y b) del apartado 1 del artículo 4 cuando dichos actos
sean necesarios para la utilización del programa de ordenador por
parte del adquirente legítimo con arreglo a su finalidad propuesta,
incluida la corrección de errores."
================================================================================
4. LAS AMENAZAS INFUNDADAS PUEDEN CONSTITUIR DELITO
================================================================================
CÓDIGO PENAL - Artículo 172 (Coacciones):
"1. El que, sin estar legítimamente autorizado, impidiere a otro con
violencia hacer lo que la ley no prohíbe, o le compeliere a efectuar
lo que no quiere, sea justo o injusto, será castigado con la pena de
prisión de seis meses a tres años o con multa de 12 a 24 meses."
LEY 3/1991 DE COMPETENCIA DESLEAL - Artículo 9 (Actos de denigración):
"Se considera desleal la realización o difusión de manifestaciones
sobre la actividad, las prestaciones, el establecimiento o las
relaciones mercantiles de un tercero que sean aptas para menoscabar
su crédito en el mercado, a no ser que sean exactas, verdaderas y
pertinentes."
CÓDIGO CIVIL - Artículo 7.2 (Abuso de derecho):
"La Ley no ampara el abuso del derecho o el ejercicio antisocial
del mismo. Todo acto u omisión que por la intención de su autor,
por su objeto o por las circunstancias en que se realice sobrepase
manifiestamente los límites normales del ejercicio de un derecho,
con daño para tercero, dará lugar a la correspondiente indemnización
y a la adopción de las medidas judiciales o administrativas que
impidan la persistencia en el abuso."
================================================================================
5. POSIBLES INCUMPLIMIENTOS DE LA GPL v3 POR SU PARTE
================================================================================
Se han identificado archivos en SU módulo que carecen de cabecera de licencia:
- lib/functions/funciones.utilidades.php
- lib/functions/funciones.certificados.php
- lib/functions/funciones.conectorCertificados.php
CITA TEXTUAL GPL v3 - Sección 5c:
"You must license the entire work, as a whole, under this License
to anyone who comes into possession of a copy. This License will
therefore apply [...] to the whole of the work, and all its parts,
regardless of how they are packaged."
[Traducción: "Debe licenciar toda la obra, como un todo, bajo esta
Licencia a cualquiera que obtenga una copia. Esta Licencia se
aplicará por tanto [...] a toda la obra, y todas sus partes,
independientemente de cómo estén empaquetadas."]
CITA TEXTUAL GPL v3 - Sección 5 (continuación):
"A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
'aggregate' if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit."
Distribuir código sin licencia (potencialmente propietario) COMBINADO y
FUNCIONALMENTE INTEGRADO con código GPL constituye una VIOLACIÓN de la GPL v3.
CONSECUENCIA LEGAL: Si usted incluyó código propietario dentro de un
proyecto GPL, USTED estaría violando la licencia, no nosotros.
================================================================================
6. VIOLACIONES DEL RGPD EN SU MÓDULO
================================================================================
Su módulo transmite datos a rd.sgestion.net SIN consentimiento:
REGLAMENTO (UE) 2016/679 (RGPD) - Artículo 6 (Licitud del tratamiento):
"1. El tratamiento solo será lícito si se cumple al menos una de las
siguientes condiciones:
a) el interesado dio su consentimiento para el tratamiento de sus
datos personales para uno o varios fines específicos;
[...]"
RGPD - Artículo 7 (Condiciones para el consentimiento):
"1. Cuando el tratamiento se base en el consentimiento del interesado,
el responsable deberá ser capaz de demostrar que aquel consintió el
tratamiento de sus datos personales.
2. Si el consentimiento del interesado se da en el contexto de una
declaración escrita que también se refiera a otros asuntos, la
solicitud de consentimiento se presentará de tal forma que se
distinga claramente de los demás asuntos, de forma inteligible y
de fácil acceso y utilizando un lenguaje claro y sencillo."
RGPD - Artículo 13 (Información que deberá facilitarse):
"1. Cuando se obtengan de un interesado datos personales relativos
a él, el responsable del tratamiento, en el momento en que estos
se obtengan, le facilitará toda la información indicada a continuación:
a) la identidad y los datos de contacto del responsable [...]
b) los fines del tratamiento a que se destinan los datos personales
c) los destinatarios o las categorías de destinatarios de los datos
d) [...] la intención del responsable de transferir datos personales
a un tercer país u organización internacional"
RGPD - Artículo 83 (Condiciones generales para la imposición de multas):
"4. Las infracciones de las disposiciones siguientes se sancionarán
[...] con multas administrativas de 10.000.000 EUR como máximo o,
tratándose de una empresa, de una cuantía equivalente al 2% como
máximo del volumen de negocio total anual global [...]
5. Las infracciones de las disposiciones siguientes se sancionarán
[...] con multas administrativas de 20.000.000 EUR como máximo o,
tratándose de una empresa, de una cuantía equivalente al 4% como
máximo del volumen de negocio total anual global [...]"
LEY ORGÁNICA 3/2018 (LOPDGDD) - Artículo 72 (Infracciones muy graves):
"1. En función de lo que establece el artículo 83.5 del Reglamento
(UE) 2016/679 se consideran muy graves y prescribirán a los tres
años las infracciones que supongan una vulneración sustancial de
los artículos mencionados en aquel y, en particular, las siguientes:
a) El tratamiento de datos personales vulnerando los principios y
garantías establecidos en el artículo 5 del Reglamento (UE) 2016/679.
b) El tratamiento de datos personales sin que concurra alguna de las
condiciones de licitud del tratamiento establecidas en el artículo 6
del Reglamento (UE) 2016/679."
================================================================================
7. CONCLUSIÓN
================================================================================
Su comunicación CARECE DE FUNDAMENTO JURÍDICO.
1. El código fue LEGÍTIMAMENTE obtenido mediante compra del módulo.
2. Se utiliza CONFORME a la licencia GPL v3 que USTED ELIGIÓ APLICAR.
3. La GPL v3 es IRREVOCABLE una vez el código ha sido distribuido.
4. Nuestro fork CUMPLE TODAS las obligaciones de la GPL v3.
5. Sus amenazas podrían constituir coacciones y/o competencia desleal.
6. USTED podría estar violando la GPL al incluir código sin licencia.
7. USTED podría estar violando el RGPD al transmitir datos sin consentimiento.
Le recomiendo encarecidamente:
- Consultar con un abogado especializado en software libre
- Revisar las implicaciones de la licencia GPL v3
- Solucionar las violaciones del RGPD en su módulo
- Abstenerse de realizar amenazas infundadas
Quedamos a su disposición para cualquier aclaración técnica.
Atentamente,
---
P.D.: Esta comunicación y toda la documentación técnica relacionada
(incluyendo los informes verifactu_code_comparison_report.txt,
verifactu_non_gpl_similarities.txt y rd10072023.md) quedan archivadas
como evidencia ante cualquier procedimiento que usted decida iniciar.
================================================================================
REFERENCIAS LEGALES CITADAS:
================================================================================
- GNU General Public License v3.0
https://www.gnu.org/licenses/gpl-3.0.html
- Reglamento (UE) 2016/679 (RGPD)
https://eur-lex.europa.eu/legal-content ... 32016R0679
- Ley Orgánica 3/2018, de 5 de diciembre (LOPDGDD)
https://www.boe.es/buscar/act.php?id=BOE-A-2018-16673
- Real Decreto Legislativo 1/1996 (Ley de Propiedad Intelectual)
https://www.boe.es/buscar/act.php?id=BOE-A-1996-8930
- Directiva 2009/24/CE (Protección de programas de ordenador)
https://eur-lex.europa.eu/legal-content ... 32009L0024
- Ley Orgánica 10/1995 (Código Penal)
https://www.boe.es/buscar/act.php?id=BOE-A-1995-25444
- Ley 3/1991, de 10 de enero (Competencia Desleal)
https://www.boe.es/buscar/act.php?id=BOE-A-1991-628
- Real Decreto de 24 de julio de 1889 (Código Civil)
https://www.boe.es/buscar/act.php?id=BOE-A-1889-4763
Además su módulo rd10072023 del realdecreto incumple y viola leyes de privacidad además de comprometer la seguridad del sistema del cliente. Enviando información sin petición explícita al usuario para dar su consentimiento y permitiendo a terceros acceder a esa información desde cualquier parte de internet.
-
tecnoxarxa
- Novato
- Mensajes: 9
- Registrado: Sab, 06/12/2025, 03:03
Hemos verificado que aparezca el autor donde corresponde, en el README.md y cabeceras de ficheros empleados. Puede verlo aquí https://github.com/garacil/verifactu
En caso de que faltase alguna mención, por favor haganoslo saber y estaremos encantados de agregarla.
Atentamente,
En caso de que faltase alguna mención, por favor haganoslo saber y estaremos encantados de agregarla.
Atentamente,
-
tecnoxarxa
- Novato
- Mensajes: 9
- Registrado: Sab, 06/12/2025, 03:03
Me veo en la obligatoriedad de informar sobre lo siguiente:
# Análisis de Violaciones de Privacidad y Normativa Legal
## Archivo Analizado
**Fichero:** `verifactu_easysoft.1.4.3/lib/controlLicencia.lib.php`
**Módulo:** VeriFactu de Easysoft (versión 1.4.3)
**Fecha de análisis:** 11 de diciembre de 2025
---
## Resumen Ejecutivo
El fichero `controlLicencia.lib.php` y el módulo VeriFactu de Easysoft contienen **múltiples violaciones graves** de la normativa europea y española de protección de datos, así como prácticas que vulneran la privacidad de los usuarios sin su conocimiento ni consentimiento.
---
## 1. Violaciones del Reglamento General de Protección de Datos (RGPD/GDPR)
### 1.1. Recopilación de Datos sin Consentimiento (Art. 6 y 7 RGPD)
El módulo recopila y transmite datos personales y empresariales **sin solicitar consentimiento explícito** del usuario:
**Datos recopilados en `getDetailedEnvironmentInfo()` (líneas 448-591):**
```php
// Información de la empresa (datos personales/empresariales)
$companyInfo = array(
'name' => $conf->global->MAIN_INFO_SOCIETE_NOM, // Razón social
'address' => $conf->global->MAIN_INFO_SOCIETE_ADDRESS, // Dirección física
'zip' => $conf->global->MAIN_INFO_SOCIETE_ZIP, // Código postal
'city' => $conf->global->MAIN_INFO_SOCIETE_TOWN, // Ciudad
'country' => $conf->global->MAIN_INFO_SOCIETE_COUNTRY, // País
'phone' => $conf->global->MAIN_INFO_SOCIETE_TEL, // Teléfono
'email' => $conf->global->MAIN_INFO_SOCIETE_MAIL // Email corporativo
);
```
**Violación:** El RGPD exige consentimiento libre, específico, informado e inequívoco (Art. 7). No existe ningún mecanismo de consentimiento previo a la transmisión de estos datos.
### 1.2. Recopilación Excesiva de Datos - Violación del Principio de Minimización (Art. 5.1.c RGPD)
El módulo recopila datos que **exceden lo necesario** para la verificación de licencia:
**Datos del cliente/usuario (líneas 482-491):**
```php
$clientInfo = array(
'user_agent' => $_SERVER['HTTP_USER_AGENT'],
'client_ip' => $_SERVER['REMOTE_ADDR'], // IP del usuario
'forwarded_for' => $_SERVER['HTTP_X_FORWARDED_FOR'],
'real_ip' => $_SERVER['HTTP_X_REAL_IP'],
'accept_language' => $_SERVER['HTTP_ACCEPT_LANGUAGE'],
'referer' => $_SERVER['HTTP_REFERER']
);
```
**Datos del servidor (líneas 455-479):**
```php
$serverIp = $_SERVER['SERVER_ADDR']; // IP privada del servidor
$publicIp = file_get_contents('https://api.ipify.org'); // IP pública
```
**Datos del sistema (líneas 495-506):**
```php
$systemInfo = array(
'os' => php_uname(), // Sistema operativo completo
'php_version' => phpversion(),
'document_root' => $_SERVER['DOCUMENT_ROOT'], // Ruta del servidor
'script_name' => $_SERVER['SCRIPT_NAME'],
'request_uri' => $_SERVER['REQUEST_URI'],
// ...
);
```
**Violación:** Para verificar una licencia solo se necesitaría el número de serie y el dominio. La recopilación de IPs, rutas del servidor, información del sistema operativo, datos de la empresa, etc., viola el principio de minimización de datos.
### 1.3. Falta de Transparencia (Art. 13 y 14 RGPD)
No existe información clara al usuario sobre:
- Qué datos se recopilan
- Para qué finalidad
- Quién es el responsable del tratamiento
- Cuánto tiempo se conservan
- Derechos del interesado
**Violación:** El RGPD obliga a informar de manera clara y accesible antes de la recogida de datos.
### 1.4. Transferencia de Datos a Terceros sin Base Legal (Art. 44-49 RGPD)
Los datos se envían a servidores externos (`sdl.easysoft.es`) sin:
- Verificar si el destino cumple con el RGPD
- Informar al usuario de la transferencia
- Obtener consentimiento para la transferencia
**Endpoints identificados:**
- `https://sdl.easysoft.es/getVerifactuDec ... esponsable` (línea 305)
- `https://sdl.easysoft.es/ping` (línea 601)
- `https://sdl.easysoft.es/storeVerifactuPublicPEM` (managecertificates.php:559)
- `https://sdl.easysoft.es/downloadModule` (managedownload.php:140)
- `https://sdl.easysoft.es/getLastModuleVersion` (modVerifactu.class.php:81)
---
## 2. Violaciones de la Ley Orgánica de Protección de Datos (LOPDGDD) - España
### 2.1. Incumplimiento del Deber de Información (Art. 11 LOPDGDD)
La LOPDGDD refuerza el deber de información del RGPD, exigiendo que sea:
- Concisa
- Transparente
- Inteligible
- De fácil acceso
**Violación:** El módulo no proporciona ninguna información al usuario sobre el tratamiento de datos.
### 2.2. Tratamiento de Datos de Contacto Empresarial (Art. 19 LOPDGDD)
Aunque el Art. 19 permite el tratamiento de datos de contacto empresarial para relaciones comerciales, esto **no exime** de:
- Informar del tratamiento
- Respetar el derecho de oposición
- Aplicar el principio de minimización
**Violación:** Se recopilan datos que exceden los de contacto empresarial (IPs, rutas de servidor, información técnica del sistema).
---
## 3. Violaciones de la Ley de Servicios de la Sociedad de la Información (LSSI)
### 3.1. Comunicaciones Comerciales no Solicitadas (Art. 21 LSSI)
La función de "ping" (línea 599, nombrada críticamente `_____()` para ofuscar su propósito) envía información periódica sin consentimiento:
```php
function _____($module = 'verifactu')
{
$baseUrl = "https://sdl.easysoft.es/ping";
// Envía TODA la información del entorno
$environmentData = getDetailedEnvironmentInfo();
// ...
}
```
**Violación:** Constituye una comunicación electrónica no solicitada con fines comerciales (tracking de instalaciones).
---
## 4. Violaciones de Privacidad y Prácticas Cuestionables
### 4.1. Envío de Certificados Digitales a Servidores Externos
En `managecertificates.php` (líneas 545-559):
```php
$payload = json_encode([
// ...
"public_pem" => $publicPem, // ¡CERTIFICADO PÚBLICO!
]);
$url = "https://sdl.easysoft.es/storeVerifactuPublicPEM";
```
**Riesgo crítico:** Aunque sea la parte pública del certificado, enviar certificados digitales a terceros sin consentimiento explícito representa un riesgo de seguridad y una violación de la confianza del usuario.
### 4.2. Ofuscación de Funciones Maliciosas
La función de ping está nombrada como `_____()` (cinco guiones bajos) para ocultar su propósito:
```php
function _____($module = 'verifactu')
{
$baseUrl = "https://sdl.easysoft.es/ping";
// ...
}
```
**Práctica cuestionable:** El uso de nombres ofuscados sugiere intención de ocultar la funcionalidad de tracking/telemetría.
### 4.3. Obtención de IP Pública sin Consentimiento
```php
$publicIp = @file_get_contents('https://api.ipify.org?format=text');
if (!$publicIp || !filter_var($publicIp, FILTER_VALIDATE_IP)) {
$publicIp = @file_get_contents('https://httpbin.org/ip');
}
```
**Violación:** Se contacta con servicios externos para obtener la IP pública del servidor, exponiendo información de red sensible.
### 4.4. Recopilación de Información de Base de Datos
```php
$dbInfo = array(
'type' => $db->type,
'version' => $db->getVersion(),
'db_name' => $conf->db->name, // Nombre de la base de datos
// ...
);
```
**Riesgo:** El nombre de la base de datos puede revelar información sensible sobre la infraestructura.
---
## 5. Posibles Sanciones
### 5.1. Bajo el RGPD
- **Infracciones graves (Art. 83.4):** Hasta 10.000.000€ o 2% del volumen de negocio
- **Infracciones muy graves (Art. 83.5):** Hasta 20.000.000€ o 4% del volumen de negocio
### 5.2. Bajo la LOPDGDD
- **Infracciones leves:** Hasta 40.000€
- **Infracciones graves:** Hasta 300.000€
- **Infracciones muy graves:** Hasta 20.000.000€
### 5.3. Bajo la LSSI
- **Infracciones graves:** Hasta 150.000€
---
## 6. Resumen de Datos Transmitidos sin Consentimiento
| Categoría | Datos Específicos | Nivel de Riesgo |
|-----------|-------------------|-----------------|
| **Empresa** | Nombre, dirección, teléfono, email | ALTO |
| **Red** | IP privada, IP pública, dominio | ALTO |
| **Sistema** | OS, PHP version, rutas del servidor | MEDIO |
| **Usuario** | IP cliente, User-Agent, idioma | ALTO |
| **Base de datos** | Tipo, versión, nombre | MEDIO |
| **Certificados** | PEM público | CRÍTICO |
| **Licencia** | Serial, hash de integridad | BAJO |
---
## 7. Recomendaciones
1. **Eliminar** la recopilación de datos innecesarios para la verificación de licencia
2. **Implementar** un mecanismo de consentimiento explícito antes de cualquier transmisión
3. **Informar** claramente al usuario de qué datos se recopilan y para qué
4. **Eliminar** la función ofuscada `_____()` de telemetría
5. **No transmitir** certificados digitales a servidores externos
6. **Limitar** los datos de verificación de licencia al serial y dominio únicamente
7. **Proporcionar** una política de privacidad clara y accesible
---
## 8. Conclusión
El módulo VeriFactu de Easysoft presenta **violaciones graves y sistemáticas** de la normativa de protección de datos europea y española. La recopilación masiva de información técnica y empresarial, combinada con su transmisión a servidores externos sin consentimiento ni información al usuario, constituye una práctica que podría ser considerada **spyware corporativo**.
El uso de nombres de función ofuscados (`_____`) para ocultar funcionalidades de telemetría agrava la situación, sugiriendo intencionalidad en la ocultación de estas prácticas.
Se recomienda encarecidamente **no utilizar este módulo** en su versión actual y reportar estas prácticas a la Agencia Española de Protección de Datos (AEPD) si se ha visto afectado por este tratamiento de datos.
---
**Documento generado:** 11 de diciembre de 2025
**Análisis realizado sobre:** verifactu_easysoft v1.4.3
# Análisis de Violaciones de Privacidad y Normativa Legal
## Archivo Analizado
**Fichero:** `verifactu_easysoft.1.4.3/lib/controlLicencia.lib.php`
**Módulo:** VeriFactu de Easysoft (versión 1.4.3)
**Fecha de análisis:** 11 de diciembre de 2025
---
## Resumen Ejecutivo
El fichero `controlLicencia.lib.php` y el módulo VeriFactu de Easysoft contienen **múltiples violaciones graves** de la normativa europea y española de protección de datos, así como prácticas que vulneran la privacidad de los usuarios sin su conocimiento ni consentimiento.
---
## 1. Violaciones del Reglamento General de Protección de Datos (RGPD/GDPR)
### 1.1. Recopilación de Datos sin Consentimiento (Art. 6 y 7 RGPD)
El módulo recopila y transmite datos personales y empresariales **sin solicitar consentimiento explícito** del usuario:
**Datos recopilados en `getDetailedEnvironmentInfo()` (líneas 448-591):**
```php
// Información de la empresa (datos personales/empresariales)
$companyInfo = array(
'name' => $conf->global->MAIN_INFO_SOCIETE_NOM, // Razón social
'address' => $conf->global->MAIN_INFO_SOCIETE_ADDRESS, // Dirección física
'zip' => $conf->global->MAIN_INFO_SOCIETE_ZIP, // Código postal
'city' => $conf->global->MAIN_INFO_SOCIETE_TOWN, // Ciudad
'country' => $conf->global->MAIN_INFO_SOCIETE_COUNTRY, // País
'phone' => $conf->global->MAIN_INFO_SOCIETE_TEL, // Teléfono
'email' => $conf->global->MAIN_INFO_SOCIETE_MAIL // Email corporativo
);
```
**Violación:** El RGPD exige consentimiento libre, específico, informado e inequívoco (Art. 7). No existe ningún mecanismo de consentimiento previo a la transmisión de estos datos.
### 1.2. Recopilación Excesiva de Datos - Violación del Principio de Minimización (Art. 5.1.c RGPD)
El módulo recopila datos que **exceden lo necesario** para la verificación de licencia:
**Datos del cliente/usuario (líneas 482-491):**
```php
$clientInfo = array(
'user_agent' => $_SERVER['HTTP_USER_AGENT'],
'client_ip' => $_SERVER['REMOTE_ADDR'], // IP del usuario
'forwarded_for' => $_SERVER['HTTP_X_FORWARDED_FOR'],
'real_ip' => $_SERVER['HTTP_X_REAL_IP'],
'accept_language' => $_SERVER['HTTP_ACCEPT_LANGUAGE'],
'referer' => $_SERVER['HTTP_REFERER']
);
```
**Datos del servidor (líneas 455-479):**
```php
$serverIp = $_SERVER['SERVER_ADDR']; // IP privada del servidor
$publicIp = file_get_contents('https://api.ipify.org'); // IP pública
```
**Datos del sistema (líneas 495-506):**
```php
$systemInfo = array(
'os' => php_uname(), // Sistema operativo completo
'php_version' => phpversion(),
'document_root' => $_SERVER['DOCUMENT_ROOT'], // Ruta del servidor
'script_name' => $_SERVER['SCRIPT_NAME'],
'request_uri' => $_SERVER['REQUEST_URI'],
// ...
);
```
**Violación:** Para verificar una licencia solo se necesitaría el número de serie y el dominio. La recopilación de IPs, rutas del servidor, información del sistema operativo, datos de la empresa, etc., viola el principio de minimización de datos.
### 1.3. Falta de Transparencia (Art. 13 y 14 RGPD)
No existe información clara al usuario sobre:
- Qué datos se recopilan
- Para qué finalidad
- Quién es el responsable del tratamiento
- Cuánto tiempo se conservan
- Derechos del interesado
**Violación:** El RGPD obliga a informar de manera clara y accesible antes de la recogida de datos.
### 1.4. Transferencia de Datos a Terceros sin Base Legal (Art. 44-49 RGPD)
Los datos se envían a servidores externos (`sdl.easysoft.es`) sin:
- Verificar si el destino cumple con el RGPD
- Informar al usuario de la transferencia
- Obtener consentimiento para la transferencia
**Endpoints identificados:**
- `https://sdl.easysoft.es/getVerifactuDec ... esponsable` (línea 305)
- `https://sdl.easysoft.es/ping` (línea 601)
- `https://sdl.easysoft.es/storeVerifactuPublicPEM` (managecertificates.php:559)
- `https://sdl.easysoft.es/downloadModule` (managedownload.php:140)
- `https://sdl.easysoft.es/getLastModuleVersion` (modVerifactu.class.php:81)
---
## 2. Violaciones de la Ley Orgánica de Protección de Datos (LOPDGDD) - España
### 2.1. Incumplimiento del Deber de Información (Art. 11 LOPDGDD)
La LOPDGDD refuerza el deber de información del RGPD, exigiendo que sea:
- Concisa
- Transparente
- Inteligible
- De fácil acceso
**Violación:** El módulo no proporciona ninguna información al usuario sobre el tratamiento de datos.
### 2.2. Tratamiento de Datos de Contacto Empresarial (Art. 19 LOPDGDD)
Aunque el Art. 19 permite el tratamiento de datos de contacto empresarial para relaciones comerciales, esto **no exime** de:
- Informar del tratamiento
- Respetar el derecho de oposición
- Aplicar el principio de minimización
**Violación:** Se recopilan datos que exceden los de contacto empresarial (IPs, rutas de servidor, información técnica del sistema).
---
## 3. Violaciones de la Ley de Servicios de la Sociedad de la Información (LSSI)
### 3.1. Comunicaciones Comerciales no Solicitadas (Art. 21 LSSI)
La función de "ping" (línea 599, nombrada críticamente `_____()` para ofuscar su propósito) envía información periódica sin consentimiento:
```php
function _____($module = 'verifactu')
{
$baseUrl = "https://sdl.easysoft.es/ping";
// Envía TODA la información del entorno
$environmentData = getDetailedEnvironmentInfo();
// ...
}
```
**Violación:** Constituye una comunicación electrónica no solicitada con fines comerciales (tracking de instalaciones).
---
## 4. Violaciones de Privacidad y Prácticas Cuestionables
### 4.1. Envío de Certificados Digitales a Servidores Externos
En `managecertificates.php` (líneas 545-559):
```php
$payload = json_encode([
// ...
"public_pem" => $publicPem, // ¡CERTIFICADO PÚBLICO!
]);
$url = "https://sdl.easysoft.es/storeVerifactuPublicPEM";
```
**Riesgo crítico:** Aunque sea la parte pública del certificado, enviar certificados digitales a terceros sin consentimiento explícito representa un riesgo de seguridad y una violación de la confianza del usuario.
### 4.2. Ofuscación de Funciones Maliciosas
La función de ping está nombrada como `_____()` (cinco guiones bajos) para ocultar su propósito:
```php
function _____($module = 'verifactu')
{
$baseUrl = "https://sdl.easysoft.es/ping";
// ...
}
```
**Práctica cuestionable:** El uso de nombres ofuscados sugiere intención de ocultar la funcionalidad de tracking/telemetría.
### 4.3. Obtención de IP Pública sin Consentimiento
```php
$publicIp = @file_get_contents('https://api.ipify.org?format=text');
if (!$publicIp || !filter_var($publicIp, FILTER_VALIDATE_IP)) {
$publicIp = @file_get_contents('https://httpbin.org/ip');
}
```
**Violación:** Se contacta con servicios externos para obtener la IP pública del servidor, exponiendo información de red sensible.
### 4.4. Recopilación de Información de Base de Datos
```php
$dbInfo = array(
'type' => $db->type,
'version' => $db->getVersion(),
'db_name' => $conf->db->name, // Nombre de la base de datos
// ...
);
```
**Riesgo:** El nombre de la base de datos puede revelar información sensible sobre la infraestructura.
---
## 5. Posibles Sanciones
### 5.1. Bajo el RGPD
- **Infracciones graves (Art. 83.4):** Hasta 10.000.000€ o 2% del volumen de negocio
- **Infracciones muy graves (Art. 83.5):** Hasta 20.000.000€ o 4% del volumen de negocio
### 5.2. Bajo la LOPDGDD
- **Infracciones leves:** Hasta 40.000€
- **Infracciones graves:** Hasta 300.000€
- **Infracciones muy graves:** Hasta 20.000.000€
### 5.3. Bajo la LSSI
- **Infracciones graves:** Hasta 150.000€
---
## 6. Resumen de Datos Transmitidos sin Consentimiento
| Categoría | Datos Específicos | Nivel de Riesgo |
|-----------|-------------------|-----------------|
| **Empresa** | Nombre, dirección, teléfono, email | ALTO |
| **Red** | IP privada, IP pública, dominio | ALTO |
| **Sistema** | OS, PHP version, rutas del servidor | MEDIO |
| **Usuario** | IP cliente, User-Agent, idioma | ALTO |
| **Base de datos** | Tipo, versión, nombre | MEDIO |
| **Certificados** | PEM público | CRÍTICO |
| **Licencia** | Serial, hash de integridad | BAJO |
---
## 7. Recomendaciones
1. **Eliminar** la recopilación de datos innecesarios para la verificación de licencia
2. **Implementar** un mecanismo de consentimiento explícito antes de cualquier transmisión
3. **Informar** claramente al usuario de qué datos se recopilan y para qué
4. **Eliminar** la función ofuscada `_____()` de telemetría
5. **No transmitir** certificados digitales a servidores externos
6. **Limitar** los datos de verificación de licencia al serial y dominio únicamente
7. **Proporcionar** una política de privacidad clara y accesible
---
## 8. Conclusión
El módulo VeriFactu de Easysoft presenta **violaciones graves y sistemáticas** de la normativa de protección de datos europea y española. La recopilación masiva de información técnica y empresarial, combinada con su transmisión a servidores externos sin consentimiento ni información al usuario, constituye una práctica que podría ser considerada **spyware corporativo**.
El uso de nombres de función ofuscados (`_____`) para ocultar funcionalidades de telemetría agrava la situación, sugiriendo intencionalidad en la ocultación de estas prácticas.
Se recomienda encarecidamente **no utilizar este módulo** en su versión actual y reportar estas prácticas a la Agencia Española de Protección de Datos (AEPD) si se ha visto afectado por este tratamiento de datos.
---
**Documento generado:** 11 de diciembre de 2025
**Análisis realizado sobre:** verifactu_easysoft v1.4.3
Hola, acabo de registrarme en el foro porque estaba buscando información sobre un módulo de FTP para Dolibarr y de casualidad me topé con este hilo. Como soy cliente de Easysoft con el módulo de facturación (también estoy en el grupo de Módulos de Dolibarr), me ha parecido interesante comentar lo que he visto.tecnoxarxa escribió: ↑Jue, 11/12/2025, 17:06 Me veo en la obligatoriedad de informar sobre lo siguiente:
# Análisis de Violaciones de Privacidad y Normativa Legal
## Archivo Analizado
**Fichero:** `verifactu_easysoft.1.4.3/lib/controlLicencia.lib.php`
**Módulo:** VeriFactu de Easysoft (versión 1.4.3)
**Fecha de análisis:** 11 de diciembre de 2025
---
## Resumen Ejecutivo
El fichero `controlLicencia.lib.php` y el módulo VeriFactu de Easysoft contienen **múltiples violaciones graves** de la normativa europea y española de protección de datos, así como prácticas que vulneran la privacidad de los usuarios sin su conocimiento ni consentimiento.
---
## 1. Violaciones del Reglamento General de Protección de Datos (RGPD/GDPR)
### 1.1. Recopilación de Datos sin Consentimiento (Art. 6 y 7 RGPD)
El módulo recopila y transmite datos personales y empresariales **sin solicitar consentimiento explícito** del usuario:
**Datos recopilados en `getDetailedEnvironmentInfo()` (líneas 448-591):**
```php
// Información de la empresa (datos personales/empresariales)
$companyInfo = array(
'name' => $conf->global->MAIN_INFO_SOCIETE_NOM, // Razón social
'address' => $conf->global->MAIN_INFO_SOCIETE_ADDRESS, // Dirección física
'zip' => $conf->global->MAIN_INFO_SOCIETE_ZIP, // Código postal
'city' => $conf->global->MAIN_INFO_SOCIETE_TOWN, // Ciudad
'country' => $conf->global->MAIN_INFO_SOCIETE_COUNTRY, // País
'phone' => $conf->global->MAIN_INFO_SOCIETE_TEL, // Teléfono
'email' => $conf->global->MAIN_INFO_SOCIETE_MAIL // Email corporativo
);
```
**Violación:** El RGPD exige consentimiento libre, específico, informado e inequívoco (Art. 7). No existe ningún mecanismo de consentimiento previo a la transmisión de estos datos.
### 1.2. Recopilación Excesiva de Datos - Violación del Principio de Minimización (Art. 5.1.c RGPD)
El módulo recopila datos que **exceden lo necesario** para la verificación de licencia:
**Datos del cliente/usuario (líneas 482-491):**
```php
$clientInfo = array(
'user_agent' => $_SERVER['HTTP_USER_AGENT'],
'client_ip' => $_SERVER['REMOTE_ADDR'], // IP del usuario
'forwarded_for' => $_SERVER['HTTP_X_FORWARDED_FOR'],
'real_ip' => $_SERVER['HTTP_X_REAL_IP'],
'accept_language' => $_SERVER['HTTP_ACCEPT_LANGUAGE'],
'referer' => $_SERVER['HTTP_REFERER']
);
```
**Datos del servidor (líneas 455-479):**
```php
$serverIp = $_SERVER['SERVER_ADDR']; // IP privada del servidor
$publicIp = file_get_contents('https://api.ipify.org'); // IP pública
```
**Datos del sistema (líneas 495-506):**
```php
$systemInfo = array(
'os' => php_uname(), // Sistema operativo completo
'php_version' => phpversion(),
'document_root' => $_SERVER['DOCUMENT_ROOT'], // Ruta del servidor
'script_name' => $_SERVER['SCRIPT_NAME'],
'request_uri' => $_SERVER['REQUEST_URI'],
// ...
);
```
**Violación:** Para verificar una licencia solo se necesitaría el número de serie y el dominio. La recopilación de IPs, rutas del servidor, información del sistema operativo, datos de la empresa, etc., viola el principio de minimización de datos.
### 1.3. Falta de Transparencia (Art. 13 y 14 RGPD)
No existe información clara al usuario sobre:
- Qué datos se recopilan
- Para qué finalidad
- Quién es el responsable del tratamiento
- Cuánto tiempo se conservan
- Derechos del interesado
**Violación:** El RGPD obliga a informar de manera clara y accesible antes de la recogida de datos.
### 1.4. Transferencia de Datos a Terceros sin Base Legal (Art. 44-49 RGPD)
Los datos se envían a servidores externos (`sdl.easysoft.es`) sin:
- Verificar si el destino cumple con el RGPD
- Informar al usuario de la transferencia
- Obtener consentimiento para la transferencia
**Endpoints identificados:**
- `https://sdl.easysoft.es/getVerifactuDec ... esponsable` (línea 305)
- `https://sdl.easysoft.es/ping` (línea 601)
- `https://sdl.easysoft.es/storeVerifactuPublicPEM` (managecertificates.php:559)
- `https://sdl.easysoft.es/downloadModule` (managedownload.php:140)
- `https://sdl.easysoft.es/getLastModuleVersion` (modVerifactu.class.php:81)
---
## 2. Violaciones de la Ley Orgánica de Protección de Datos (LOPDGDD) - España
### 2.1. Incumplimiento del Deber de Información (Art. 11 LOPDGDD)
La LOPDGDD refuerza el deber de información del RGPD, exigiendo que sea:
- Concisa
- Transparente
- Inteligible
- De fácil acceso
**Violación:** El módulo no proporciona ninguna información al usuario sobre el tratamiento de datos.
### 2.2. Tratamiento de Datos de Contacto Empresarial (Art. 19 LOPDGDD)
Aunque el Art. 19 permite el tratamiento de datos de contacto empresarial para relaciones comerciales, esto **no exime** de:
- Informar del tratamiento
- Respetar el derecho de oposición
- Aplicar el principio de minimización
**Violación:** Se recopilan datos que exceden los de contacto empresarial (IPs, rutas de servidor, información técnica del sistema).
---
## 3. Violaciones de la Ley de Servicios de la Sociedad de la Información (LSSI)
### 3.1. Comunicaciones Comerciales no Solicitadas (Art. 21 LSSI)
La función de "ping" (línea 599, nombrada críticamente `_____()` para ofuscar su propósito) envía información periódica sin consentimiento:
```php
function _____($module = 'verifactu')
{
$baseUrl = "https://sdl.easysoft.es/ping";
// Envía TODA la información del entorno
$environmentData = getDetailedEnvironmentInfo();
// ...
}
```
**Violación:** Constituye una comunicación electrónica no solicitada con fines comerciales (tracking de instalaciones).
---
## 4. Violaciones de Privacidad y Prácticas Cuestionables
### 4.1. Envío de Certificados Digitales a Servidores Externos
En `managecertificates.php` (líneas 545-559):
```php
$payload = json_encode([
// ...
"public_pem" => $publicPem, // ¡CERTIFICADO PÚBLICO!
]);
$url = "https://sdl.easysoft.es/storeVerifactuPublicPEM";
```
**Riesgo crítico:** Aunque sea la parte pública del certificado, enviar certificados digitales a terceros sin consentimiento explícito representa un riesgo de seguridad y una violación de la confianza del usuario.
### 4.2. Ofuscación de Funciones Maliciosas
La función de ping está nombrada como `_____()` (cinco guiones bajos) para ocultar su propósito:
```php
function _____($module = 'verifactu')
{
$baseUrl = "https://sdl.easysoft.es/ping";
// ...
}
```
**Práctica cuestionable:** El uso de nombres ofuscados sugiere intención de ocultar la funcionalidad de tracking/telemetría.
### 4.3. Obtención de IP Pública sin Consentimiento
```php
$publicIp = @file_get_contents('https://api.ipify.org?format=text');
if (!$publicIp || !filter_var($publicIp, FILTER_VALIDATE_IP)) {
$publicIp = @file_get_contents('https://httpbin.org/ip');
}
```
**Violación:** Se contacta con servicios externos para obtener la IP pública del servidor, exponiendo información de red sensible.
### 4.4. Recopilación de Información de Base de Datos
```php
$dbInfo = array(
'type' => $db->type,
'version' => $db->getVersion(),
'db_name' => $conf->db->name, // Nombre de la base de datos
// ...
);
```
**Riesgo:** El nombre de la base de datos puede revelar información sensible sobre la infraestructura.
---
## 5. Posibles Sanciones
### 5.1. Bajo el RGPD
- **Infracciones graves (Art. 83.4):** Hasta 10.000.000€ o 2% del volumen de negocio
- **Infracciones muy graves (Art. 83.5):** Hasta 20.000.000€ o 4% del volumen de negocio
### 5.2. Bajo la LOPDGDD
- **Infracciones leves:** Hasta 40.000€
- **Infracciones graves:** Hasta 300.000€
- **Infracciones muy graves:** Hasta 20.000.000€
### 5.3. Bajo la LSSI
- **Infracciones graves:** Hasta 150.000€
---
## 6. Resumen de Datos Transmitidos sin Consentimiento
| Categoría | Datos Específicos | Nivel de Riesgo |
|-----------|-------------------|-----------------|
| **Empresa** | Nombre, dirección, teléfono, email | ALTO |
| **Red** | IP privada, IP pública, dominio | ALTO |
| **Sistema** | OS, PHP version, rutas del servidor | MEDIO |
| **Usuario** | IP cliente, User-Agent, idioma | ALTO |
| **Base de datos** | Tipo, versión, nombre | MEDIO |
| **Certificados** | PEM público | CRÍTICO |
| **Licencia** | Serial, hash de integridad | BAJO |
---
## 7. Recomendaciones
1. **Eliminar** la recopilación de datos innecesarios para la verificación de licencia
2. **Implementar** un mecanismo de consentimiento explícito antes de cualquier transmisión
3. **Informar** claramente al usuario de qué datos se recopilan y para qué
4. **Eliminar** la función ofuscada `_____()` de telemetría
5. **No transmitir** certificados digitales a servidores externos
6. **Limitar** los datos de verificación de licencia al serial y dominio únicamente
7. **Proporcionar** una política de privacidad clara y accesible
---
## 8. Conclusión
El módulo VeriFactu de Easysoft presenta **violaciones graves y sistemáticas** de la normativa de protección de datos europea y española. La recopilación masiva de información técnica y empresarial, combinada con su transmisión a servidores externos sin consentimiento ni información al usuario, constituye una práctica que podría ser considerada **spyware corporativo**.
El uso de nombres de función ofuscados (`_____`) para ocultar funcionalidades de telemetría agrava la situación, sugiriendo intencionalidad en la ocultación de estas prácticas.
Se recomienda encarecidamente **no utilizar este módulo** en su versión actual y reportar estas prácticas a la Agencia Española de Protección de Datos (AEPD) si se ha visto afectado por este tratamiento de datos.
---
**Documento generado:** 11 de diciembre de 2025
**Análisis realizado sobre:** verifactu_easysoft v1.4.3
1º Respecto al envío de datos y entendiendo cómo está el tema con la AEAT y las multas, imagino que deben tenerlo bien atado legalmente si están haciendo estas comprobaciones, porque vulnerar la inalterabilidad acarrea sanciones muy serias.
2º Yo no tengo mucha idea de programación (hace años tocaba algo de Basic), pero viendo por encima el código de algunos ficheros parece que habéis hecho un copia y pega adaptándolo a vuestras necesidades. Supongo que con la licencia de Dolibarr no debería haber problema siempre que se respeten los términos, ¿no?
Lo que me resulta curioso es que empezó siendo un post donde se ofrecía algo gratuito y ha acabado en polémica. Por lo que veo, ellos solo pidieron que se reconociera su trabajo original, que al parecer no se mencionaba en la copia según comentan en el Git.
Por mi experiencia con ellos, me han atendido bastante rápido y con cercanía, así que seguiré trabajando con sus módulos.
Ahora me pregunto: para haber conseguido el módulo, ¿habéis tenido que ser clientes de ellos o alguien os lo pasó? O sea, que lo adquirís de alguna forma, lo copiáis básicamente, lo publicáis y encima esto parece una campaña en contra de ellos atacándolos. No sé si serás un particular o una empresa, pero esto dice bastante de vosotros.
-
tecnoxarxa
- Novato
- Mensajes: 9
- Registrado: Sab, 06/12/2025, 03:03
La licencia GPL v3 Permite hacer de todo, menos poner código propietario dentro como hacen ellos:
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
Dolibarr es software libre con licencia GPL v3 y por tanto, podemos publicar, cambiar y añadir todo lo que queramos. Por eso está publicado y detallado con referencias a los autores en github https://github.com/garacil/verifactu
Si no te importa que sin tu permiso recopilen información sin permiso incumpliendo un montón de leyes, allá tu. Yo no voy a permitir que intenten corromper el espiritu del software libre del que vivo desde finales de los años 90 siendo miembro de la FSF.org o comprometan mi información recavando información MIA o de mis clientes sin mi consentimiento. No se puede defender lo indefendible.
Gracias por tu respuesta.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
Dolibarr es software libre con licencia GPL v3 y por tanto, podemos publicar, cambiar y añadir todo lo que queramos. Por eso está publicado y detallado con referencias a los autores en github https://github.com/garacil/verifactu
Si no te importa que sin tu permiso recopilen información sin permiso incumpliendo un montón de leyes, allá tu. Yo no voy a permitir que intenten corromper el espiritu del software libre del que vivo desde finales de los años 90 siendo miembro de la FSF.org o comprometan mi información recavando información MIA o de mis clientes sin mi consentimiento. No se puede defender lo indefendible.
Gracias por tu respuesta.
Me preocuparía si se tratara de datos sensibles como mi facturación, cuantías u otra información confidencial, pero según lo que mencionas, parece tratarse de información básica. Por cierto, cuando adquirí la licencia también me solicitaron estos datos y me explicaron dónde se instalaría el software, etc. Comprendo que, dada la fuerte preocupación ante posibles sanciones de la AEAT, necesiten implementar estos controles.tecnoxarxa escribió: ↑Jue, 11/12/2025, 18:29 La licencia GPL v3 Permite hacer de todo, menos poner código propietario dentro como hacen ellos:
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
Dolibarr es software libre con licencia GPL v3 y por tanto, podemos publicar, cambiar y añadir todo lo que queramos. Por eso está publicado y detallado con referencias a los autores en github https://github.com/garacil/verifactu
Si no te importa que sin tu permiso recopilen información sin permiso incumpliendo un montón de leyes, allá tu. Yo no voy a permitir que intenten corromper el espiritu del software libre del que vivo desde finales de los años 90 siendo miembro de la FSF.org o comprometan mi información recavando información MIA o de mis clientes sin mi consentimiento. No se puede defender lo indefendible.
Gracias por tu respuesta.
Entiendo entonces que no utilizarás ningún software que envíe datos de cualquier tipo, porque la gran mayoría utilizan sistemas de recopilación de datos para temas de licenciamiento: desde la suite de Adobe hasta Microsoft, entre otros.
Quizás la forma más adecuada de haber abordado esto habría sido hablando directamente con ellos, en lugar de iniciar esta discusión aquí. Otra cosa sería si te hubieran ignorado o no te hubieran dado respuesta alguna.
Una pregunta por curisidad ¿Como haceis la declaración responsable vosotros? Segun leo habeis quitado todo el control de licencias etc
-
tecnoxarxa
- Novato
- Mensajes: 9
- Registrado: Sab, 06/12/2025, 03:03
La discusión la han iniciado ellos y las ilegalidades también. Incluyendo la violación fraglante de la GPL v3. No lo hemos empezado nosotros. Pero no contestaré más porque sabemos quien eres y lo que intentas.
Gracias!
Gracias!
