Responsabilidad
¿Cómo pueden los clientes esperar que pequeños equipos e individuos sean responsables de una violación de seguridad cuando las noticias están llenas de gobiernos/corporaciones con enormes presupuestos de ITSec que son hackeados? Sólo somos desarrolladores web, no expertos en seguridad, ¿esperan los blogueros hacerlo mejor que las instituciones financieras y conseguir un producto "infranqueable"? Además, no existe ningún estándar de la industria que cubra de forma exhaustiva todo el desarrollo web, así que ¿quién determina lo que es adecuado y lo que no lo es?
¿Cuándo puedo empezar a trabajar?
Si la seguridad al 100% es un mito (y lo es), ¿a qué nivel de competencia puede un desarrollador responsable ofrecer sus servicios? El 70% de los sitios web tienen vulnerabilidades significativas, así que la gente que los construyó obviamente no estaba esperando. Aprender a desarrollar usando la guía de OWASP sería bueno si su actualización estuviera disponible. Al menos entonces podría declarar explícitamente el grado de protección que ofrecen mis servicios y tener un estándar respetado con el que contrastar. Suponiendo que ese fuera el caso, ¿bastaría con un descargo de responsabilidad del tipo "no soy una empresa de seguridad" y "no puedo hacerme responsable de las pérdidas ocasionadas por una infracción"?
Acuerdos entre el promotor y el cliente que incluyen el mantenimiento
Hay quien dice que debería ser responsable de un hackeo si fue contratado para mantener el sitio una vez terminado. Creo que esto sólo debería ser así si la brecha se produjo debido a un fallo por tu parte a la hora de instalar los parches de seguridad y las actualizaciones a tiempo. Si se te culpa de cualquier otro "vector de ataque", creo que se espera de forma irrazonable que te protejas de todos los posibles exploits que existen (volviendo a ese mito de la seguridad al 100%). Y en cuanto a la respuesta a la brecha, dependiendo del alcance del problema, creo que tiene menos sentido asumir que el desarrollador medio debería ser competente para manejarlo. Parece que incluso los profesionales de la seguridad están divididos en cuanto a cuál es el protocolo adecuado. Y son especialistas.
Terceras partes
Parece que subcontratar la seguridad para el mantenimiento (monitorización, actualizaciones, recuperación, etc.) y el prelanzamiento (pruebas) podría ser una buena forma de evitar la responsabilidad. ¿Tendría que indicar explícitamente algo en el contrato para trasladar la responsabilidad?
Parece que se confunde cuando se habla de externalizar otras partes del proyecto, como el front-end. ¿Son los subcontratistas que contratas responsables de las vulnerabilidades en su extremo o todo el proyecto recae en ti? Dependiendo de la respuesta, ¿cómo se podrían coordinar los contratos entre el cliente, la seguridad de terceros, el diseñador, y más, de una manera integral que aborde tanto la seguridad como la responsabilidad?
Información que me sería útil
Lo que me sería útil sería conseguir ejemplos de trabajo de cómo otros autónomos tratan estos temas de seguridad/responsabilidad. La redacción específica de los contratos personales junto con cualquier medida adicional sería genial. Parece que el lenguaje legal es tan a prueba de balas como la seguridad, así que ¿debería convertirme en una empresa de responsabilidad limitada o contratar un "seguro contra demandas para desarrolladores" (acabo de enterarme de que eso existe)? Cualquier conocimiento o experiencia directa o indirecta es apreciada y estaría muy agradecido. Nada de lo que se proporcione se tomará como consejo legal.