diff --git a/Poppins/local_settings_preprod.py b/Poppins/local_settings_preprod.py
index e311bfcb8d527a1a7a6c7fe5553b7e38ab718f5f..ce3e8f1bbd0b797ed8e7c8cf247af6931ae162d3 100644
--- a/Poppins/local_settings_preprod.py
+++ b/Poppins/local_settings_preprod.py
@@ -25,12 +25,13 @@ DEFAULT_FROM_EMAIL = 'no-reply@bfa.ar'
 ADMIN_EMAIL = 'no-reply@bfa.ar'
 
 # NODO DE BLOACJAJEICHAIN
-NODE_URL = 'http://10.23.10.73:54450'  # salberchain
+NODE_URL = 'http://10.23.10.71:8501'  # salberchain
+
+DISTILLERY_ADDRESS = '0x9Da2aC818d39f4342f67eC94F86865A34b642342'  # distillery
+
+DISTRIBUTOR_ACCOUNT = '0xc9cec0B3fbb502B2eF4d03eBf6a1A612CBdE53E3'  # cuenta con mucho ether, vive en el 72
+# 0x21ea59FC5cE54a827E20BC9b736FeeD8F9C880Ff
 
-# CFG BLOCKCHANGE
-DISTILLERY_ADDRESS = '0x822c2b518dCfEE69d435E0C5F2e6d196FcC8320E'  # distillery
-DISTRIBUTOR_ACCOUNT = '0xA9cAc6C2EF4909A05eF24A12Ecadf9E541B5995F'  # cuenta con mucho ether con su clave privada en
-# el 10.23.10.73
 
 # cuentas para pruebas: 0xd57c1f52ff4513c721bd22ccbee55b7cef440b5c y 0x6664e892a36e74e1e618b9bfb25caa0f18b311a4
 # passphrase prueba para ambas cuentas
diff --git a/frontend/templates/django_registration/admin_email_body.txt b/frontend/templates/django_registration/admin_email_body.txt
index 01bd47aebb6013d76ac74882779f5ac2bb90c941..64b31be1eb86db70df978bf3d7a36957b309b338 100644
--- a/frontend/templates/django_registration/admin_email_body.txt
+++ b/frontend/templates/django_registration/admin_email_body.txt
@@ -1,12 +1,3 @@
-{#
-Copyright 2019 de la Dirección General de Sistemas Informáticos – Secretaría Legal y Técnica - Nación.
-
-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 2 of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/
-#}
 {% autoescape off %}
 Se ha registrado un nuevo usuario en la aplicación Poppins
 Usuario: {{ name }}
diff --git a/frontend/templates/django_registration/registration_form.html b/frontend/templates/django_registration/registration_form.html
index a38b61bf334322895b7a2fb679fc3ae151ae6cbd..d9c9d95f1fed05c00d8878e085c3b7636e538f95 100644
--- a/frontend/templates/django_registration/registration_form.html
+++ b/frontend/templates/django_registration/registration_form.html
@@ -15,12 +15,17 @@ You should have received a copy of the GNU General Public License along with thi
 {% bootstrap_javascript %}
 {% bootstrap_messages %}
 
+{% block css %}
+    <link rel="stylesheet" type="text/css" media="screen" href="{% static 'frontend/css/tyc.css' %}" />
+{% endblock %}
+
 {% block title %}
     {% trans "registro_de_usuarios" %}
 {% endblock %}
 
 {% block content %}
     {% include 'topnav-deslogueado.html' %}
+    <script src="tyc.css"></script>
     <main class="container" id="main-content">
         <div class="row">
             <section>
@@ -72,14 +77,11 @@ You should have received a copy of the GNU General Public License along with thi
                         <p>Utilizá ocho caracteres como mínimo con una combinación de letras, números y símbolos.</p>
                     </div>
 
-                    <div class="form-group form-group-lg col-sm-12">
-                        <div>
-                            <label class="control-label" for="terms">Política de Uso</label>
-                        </div>
-                        <div>
-                            <input type="checkbox" name="terms" id="terms" placeholder="Política de Uso" required style="float: left; margin-top: 8px;">
-                            <label class="font_small" for="terms" style="font-weight: 100">He leído y acepto la <a style="cursor: pointer" data-toggle="modal" data-target="#terms-modal">política de uso</a></label>
-                        </div>
+                    <div class="col-sm-12">
+                        <input class="" type="checkbox" id="terms" name="terms" required="required"
+                            aria-required="true" />
+                        <label for="terms">Acepto las <a href="#terms-modal" data-toggle="modal"
+                                data-target="#terms-modal">políticas de uso de BFA</a></label>
                     </div>
 
                     <script src='https://www.google.com/recaptcha/api.js'></script>
@@ -94,30 +96,176 @@ You should have received a copy of the GNU General Public License along with thi
                 </form>
             </section>
         </div>
-        <div class="modal" tabindex="-1" role="dialog" id="terms-modal">
-            <div class="modal-dialog" role="document" style="width: 80%;">
+        <div class="modal fade tyc" tabindex="-1" role="dialog" id="terms-modal">
+            <div class="modal-dialog modal-lg" role="document">
                 <div class="modal-content">
                     <div class="modal-header">
-                        <h4 class="modal-title">Política de uso</h4>
-                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                            <span aria-hidden="true">&times;</span>
-                        </button>
+                        <button type="button" class="close" data-dismiss="modal" aria-label="Cerrar"><span
+                                aria-hidden="true">&times;</span></button>
+                        <h1 class="modal-title">Políticas de Uso de BFA</h1>
                     </div>
                     <div class="modal-body">
-                        <p>What is Lorem Ipsum?
-Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
-
-Why do we use it?
-It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
-
-
-Where does it come from?
-Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
-
-                        </p>
+                        <p>Las presentes Pol&iacute;ticas de Uso establecen los principios y normas que rigen el uso de la plataforma multiservicios de alcance federal implementada a trav&eacute;s de una infraestructura blockchain denominada Blockchain Federal Argentina (BFA), por parte de los Usuarios, fueran o no Parte del CONTRATO DE COLABORACI&Oacute;N P&Uacute;BLICO-PRIVADA BLOCKCHAIN FEDERAL. </p>
+                        <div class="indice">
+                            <h2 id="1">Contenido</h2>
+                            <ul>
+                                <li>
+                                    <a href="#1">1. La Red</a>
+                                    <ul>
+                                        <li><a href="#1.1">1.1 Tecnología</a></li>
+                                        <li><a href="#1.2">1.2 Metodología</a></li>
+                                        <li>
+                                            <a href="#1.3">1.3 Nodos</a>
+                                            <ul>
+                                                <li><a href="#1.3.1">a. Selladores</a></li>
+                                                <li><a href="#1.3.2">b. Gateway</a></li>
+                                                <li><a href="#1.3.3">c. Bootnodes</a></li>
+                                                <li><a href="#1.3.4">d. Transaccionales</a></li>
+                                                <li><a href="#1.3.5">e. Verificadores</a></li>
+                                                <li><a href="#1.3.6">f. Archivadores</a></li>
+                                                <li><a href="#1.3.7">g. Nodos combinados</a></li>
+                                            </ul>
+                                        </li>
+                                        <li><a href="#1.4">1.4 Suspensión y remoción de nodos/cuentas</a></li>
+                                        <li><a href="#1.5">1.5 Fijación de Hora correcta</a></li>
+                                        <li><a href="#1.6">1.6 Funcionamiento de la Destilería de Ether</a></li>
+                                        <li><a href="#1.7">1.7 Código abierto</a></li>
+                                    </ul>
+                                </li>
+                                <li>
+                                    <a href="#2">2. Usuarios</a>
+                                    <ul>
+                                        <li><a href="#2.1">2.1 Registro de Usuarios</a></li>
+                                        <li><a href="#2.2">2.2 Responsabilidad de los Usuarios</a></li>
+                                        <li><a href="#2.3">2.3 Reglas de funcionamiento de Cuentas Registradas</a></li>
+                                        <li><a href="#2.4">2.4 Reglas de funcionamiento de Smart Contracts</a></li>
+                                    </ul>
+                                </li>
+                                <li><a href="#3">3. Limitación de responsabilidad de la BFA</a></li>
+                            </ul>
+                        </div>
+                        <div class="content">
+                            <h1 id="1">1. La Red</h1>
+                            <h2 id="1.1">1.1 Tecnolog&iacute;a</h2>
+                            <p>BFA utiliza el software libre para blockchain denominado Ethereum.</p>
+                            <h2 id="1.2">1.2 Metodolog&iacute;a </h2>
+                            <p>BFA se basa en el protocolo de consenso Prueba de Autoridad (<i>Proof of Authority</i>) para establecer los nodos que est&aacute;n autorizados a agregar bloques a la cadena.</p>
+                            <h2 id="1.3">1.3 Nodos</h2>
+                            <h4 id="1.3.1">a. Selladores</h4>
+                            <h5>Descripci&oacute;n</h5>
+                            <p>Los nodos selladores conforman el <i>core</i> de la red, la estructura central de la red confiable de BFA, y son los <i>&uacute;nicos</i> que participan en el protocolo de consenso. En ese sentido, tienen cuentas validadas espec&iacute;ficamente para agregar bloques a la cadena. No generan transacciones.</p>
+                            <h5>Funci&oacute;n</h5>
+                            <p>La <i>&uacute;nica</i> funci&oacute;n de los nodos selladores es agregar bloques de transacciones a la blockchain a trav&eacute;s del proceso de sellado.</p>
+                            <h5>Reglas de funcionamiento</h5>
+                            <p>S&oacute;lo pueden ser operados por las Partes de BFA siguiendo los par&aacute;metros definidos para su operaci&oacute;n y son monitoreados por los Centros de Monitoreo (NOCs) p&uacute;blicos. </p>
+                            <p>Los selladores rechazar&aacute;n o descartar&aacute;n conexiones de otros nodos en la red. Solo se contactar&aacute;n con nodos selladores o <i>gateways</i> creando as&iacute; una red eficiente y confiable.</p>
+                            <p>Se comunican entre s&iacute; en forma <i>mesh:</i></p>
+                            <ul>
+                                <li>no necesariamente todos con todos</li>
+                                <li>los nodos selladores deben poder contactarse con los dem&aacute;s selladores y <i>gateway</i></li>
+                            </ul>
+                            <h4 id="1.3.2">b. Gateway </h4>
+                            <h5>Descripci&oacute;n</h5>
+                            <p>Los nodos <i>gateway</i> conforman el borde del <i>core</i>. Son puestos entre la red confiable y el resto de la red blockchain y son operados por las Partes de BFA. No generan transacciones. </p>
+                            <h5>Funci&oacute;n</h5>
+                            <p>La &uacute;nica funci&oacute;n de los nodos <i>gateway</i> es mediar la conexi&oacute;n entre los nodos selladores y los dem&aacute;s de la red.</p>
+                            <h5>Reglas de funcionamiento</h5>
+                            <p>S&oacute;lo pueden ser operados por las Partes de BFA siguiendo los par&aacute;metros definidos para la operaci&oacute;n de nodos <i>gateway.</i></p>
+                            <p>Se comunican con cualquier nodo de la red (tanto selladores como de otro tipo) y son monitoreados por los NOCs p&uacute;blicos. </p>
+                            <h4 id="1.3.3">c. Bootnodes</h4>
+                            <h5>Descripci&oacute;n</h5>
+                            <p>BFA provee un peque&ntilde;o conjunto de <i>bootnodes</i> que pueden ser utilizados por todos los nodos de la red, excepto los selladores. No tienen cuentas asociadas a ellos y no generan transacciones.</p>
+                            <h5>Funci&oacute;n</h5>
+                            <p>La funci&oacute;n de los <i>bootnodes</i> es ayudar a todos los nodos a encontrar los dem&aacute;s nodos en la red.</p>
+                            <h5>Reglas de funcionamiento</h5>
+                            <p>Se comunican con cualquier nodo de la red excepto los selladores. Los <i>bootnodes</i> operados por BFA no tienen cuentas asociadas a ellos y utilizan direcciones IPv4 e IPv6 fijas, p&uacute;blicas y conocidas.</p>
+                            <h4 id="1.3.4">d. Transaccionales</h4>
+                            <h5>Descripci&oacute;n</h5>
+                            <p>Los nodos transaccionales (<i>transaction nodes</i>) son aquellos que pueden enviar transacciones para que luego sean procesadas (agregadas a la blockchain) por los nodos selladores. Son los primeros nodos en ver una transacci&oacute;n firmada por una cuenta. Normalmente &eacute;sta est&aacute; relacionada con el operador del nodo.</p>
+                            <h5>Funci&oacute;n</h5>
+                            <p>La funci&oacute;n de los nodos transaccionales es inyectar transacciones en la red.</p>
+                            <h5>Reglas de funcionamiento</h5>
+                            <p>Los nodos transaccionales se conectan entre s&iacute; y con cualquier nodo de la red (excepto los selladores) a voluntad. </p>
+                            <p>Pueden ser operados por cualquier persona o instituci&oacute;n pero, para que las transacciones sean aceptadas, DEBEN ser enviadas por una cuenta registrada (no necesariamente deben ser Parte pero s&iacute; Usuario de BFA). Generalmente son ejecutados por operadores de servicios que utilizan la blockchain (los Usuarios que implementan aplicaciones).</p>
+                            <p>Necesitan firmar un acuerdo con &nbsp;BFA para recibir, sin costo, Ether, para utilizar como el combustible necesario para enviar transacciones a la blockchain. NO DEBEN enviar Ether a otras cuentas (incluyendo contratos). Ver m&aacute;s sobre Ether en <a href="#1.6">1.6 Funcionamiento de la Destiler&iacute;a de Ether</a>.</p>
+                            <h4 id="1.3.5">e. Verificadores</h4>
+                            <h5>Descripci&oacute;n</h5>
+                            <p>Los nodos verificadores son aquellos que pueden ver el contenido completo de la blockchain y comprobar su validez. No generan transacciones.</p>
+                            <h5>Funci&oacute;n</h5>
+                            <p>Se utilizan para leer y verificar el contenido de la blockchain y adem&aacute;s pueden llamar a funciones <i>read-only</i> de los <i>smart contracts</i>.</p>
+                            <h5>Reglas de funcionamiento</h5>
+                            <p>Los nodos verificadores pueden ser operados por cualquier usuario, sin necesidad de autorizaci&oacute;n de BFA. Estos se comunican a cualquier nodo de la red excepto los selladores. Pueden ser operados por cualquiera, inclusive con cuentas no registradas.</p>
+                            <h4 id="1.3.6">f. Archivadores</h4>
+                            <h5>Descripci&oacute;n</h5>
+                            <p>Los nodos archivadores son aquellos que mantienen un archivo hist&oacute;rico de todos los bloques de la red. Normalmente no generan transacciones (aunque podr&iacute;a utilizarse de archivador un nodo transaccional).</p>
+                            <h5>Funci&oacute;n</h5>
+                            <p>La funci&oacute;n del nodo archivador es mantener una copia completa de la blockchain.</p>
+                            <h5>Reglas de funcionamiento</h5>
+                            <p>BFA provee nodos archivadores p&uacute;blicos que tienen conectividad a Internet v&iacute;a IPv4 e IPv6. Estos nodos no requieren cuentas validadas asociadas a ellos.</p>
+                            <p>Cualquier persona u organizaci&oacute;n que no sea Parte de BFA puede elegir proveer el servicio de archivadores independientemente de BFA. Se comunican con cualquier nodo de la red excepto los selladores.</p>
+                            <h4 id="1.3.7">g. Nodos combinados</h4>
+                            <p>Es posible combinar la operaci&oacute;n de distintos tipos de nodos. Por ejemplo, un nodo transaccional podr&iacute;a funcionar tambi&eacute;n como archivador. En principio, la funci&oacute;n de verificador la realizan todos los nodos excepto los <i>bootnodes</i>.</p>
+                            <h2 id="1.4">1.4 Suspensi&oacute;n y remoci&oacute;n de nodos/cuentas</h2>
+                            <p>Los nodos (y cuentas asociadas) que no cumplan con las presentes <b>Pol&iacute;ticas de Uso</b> podr&aacute;n ser suspendidos en su operaci&oacute;n y se deber&aacute;n determinar las causas del incumplimiento. Si ocurri&oacute; por un problema de seguridad o producto de un error de software o configuraci&oacute;n, se deber&aacute; resolver el problema y luego reactivar el nodo/cuenta. </p>
+                            <p>En caso de detectarse un comportamiento malicioso, se deber&aacute; cumplir con el procedimiento de suspensi&oacute;n y remoci&oacute;n de nodos transaccionales definido por el Consejo de Administraci&oacute;n (CdA) para remover de forma permanente un nodo/cuenta, eventualmente cancelando la membres&iacute;a.</p>
+                            <h2 id="1.5">1.5 Fijaci&oacute;n de Hora correcta</h2>
+                            <p>Los bloques tienen un sello de tiempo <i>(timestamp)</i> embebido en ellos. Los selladores DEBEN sincronizar sus relojes con la hora UTC utilizando el protocolo NTP.</p>
+                            <p>Los nodos transaccionales DEBER&Iacute;AN asegurarse de que sus relojes est&aacute;n sincronizados. Dependiendo de los casos de uso, los nodos <i>read-only</i> tambi&eacute;n DEBER&Iacute;AN asegurarse de que sus relojes est&aacute;n sincronizados.</p>
+                            <h2 id="1.6">1.6 Funcionamiento de la Destiler&iacute;a de Ether</h2>
+                            <p>BFA opera una Destiler&iacute;a que, peri&oacute;dicamente, env&iacute;a Ether a los nodos transaccionales, de modo que puedan continuar con las operaciones normales. </p>
+                            <p>La Destiler&iacute;a de Ether puede implementar m&eacute;todos para detectar incumplimiento, a las Pol&iacute;ticas de Uso. Y ante la posibilidad de un abuso, implicar&aacute; investigar el comportamiento del nodo en cuesti&oacute;n y resolver su situaci&oacute;n y podr&aacute; detener o minimizar transferencias subsecuentes de Ether a los nodos transaccionales. </p>
+                            <p>BFA puede ajustar administrativamente la configuraci&oacute;n por nodo/cuenta transaccional y organizaci&oacute;n.</p>
+                            <p>La Destiler&iacute;a seguir&aacute; el procedimiento para la asignaci&oacute;n de Ether definido por el CdA.</p>
+                            <h2 id="1.7">1.7 C&oacute;digo abierto</h2>
+                            <p>El software propuesto, as&iacute; como los desarrollos que pudieran realizarse y ponerse a disposici&oacute;n de los Usuarios, se basa en principios y reglas jur&iacute;dicas del software libre y de c&oacute;digo abierto (<i>open source software</i>).</p>
+                            <p>Por lo anterior, no son necesarios nuevos acuerdos con el creador o emisor del c&oacute;digo fuente para reutilizar la licencia original del mismo. No existe relaci&oacute;n comercial entre el creador del software y los Usuarios. Ning&uacute;n Usuario puede reclamar da&ntilde;os o perjuicios a sus contrapartes que les suministren servicios o provean bienes digitales, sobre la base de deficiencias, fallos o defectos del software o de los sistemas operativos empleados en r&eacute;gimen abierto, libre u <i>open source</i>.</p>
+                            <h1 id="2">2. Usuarios</h1>
+                            <p>BFA podr&aacute; ser utilizada por cualquier interesado con fines econ&oacute;micos, de gesti&oacute;n, cient&iacute;ficos, de experimentaci&oacute;n o de investigaci&oacute;n, de conformidad a las reglas y principios establecidos en el Contrato, el Reglamento Interno y en las Pol&iacute;ticas de Uso de la plataforma.</p>
+                            <p>No existe v&iacute;nculo contractual alguno entre BFA y los Usuarios finales de la blockchain. </p>
+                            <p>Dado que para enviar transacciones que se puedan agregar a la blockchain es necesario contar con Ether, los Usuarios DEBEN registrarse y aceptar el Reglamento Interno y las presentes Pol&iacute;ticas de Uso.</p>
+                            <p>Una vez registrado, un Usuario podr&aacute; informar las cuentas que utilizar&aacute; y solicitar Ether para las mismas.</p>
+                            <h2 id="2.1">2.1 Registro de Usuarios</h2>
+                            <p>Cualquier persona puede registrarse como Usuario de BFA utilizando la aplicaci&oacute;n de registro de BFA para lo cual s&oacute;lo debe validar que posee control sobre la cuenta de correo electr&oacute;nico que utilice para el registro.</p>
+                            <p>Cada usuario registrado podr&aacute; cargar una o m&aacute;s cuentas Ethereum para utilizar en la plataforma BFA (ver <a href="#2.4">2.4 Reglas de funcionamiento de cuentas registradas</a>).</p>
+                            <p>Asimismo, en forma optativa, los Usuarios podr&aacute;n validar su identidad a trav&eacute;s de la plataforma de autenticaci&oacute;n externa <a target="_blank" rel="nofollow" href="https://autenticar.gob.ar/">Autenticar (PAEC)</a>.</p>
+                            <h2 id="2.2">2.2 Responsabilidad de los Usuarios </h2>
+                            <p>Todos los Usuarios finales que por cualquier concepto empleen la plataforma de BFA, por s&iacute; mismos o a trav&eacute;s de terceros, aceptan voluntariamente que el uso de la misma tiene lugar bajo su &uacute;nica y exclusiva responsabilidad, y se comprometen a cumplir el Reglamento Interno, las Pol&iacute;ticas de Uso y dem&aacute;s normativas de BFA en todo momento y en cualquier circunstancia de uso de BFA. </p>
+                            <p>Quienes usen la plataforma de BFA, sean Parte o no, para sustentar sus negocios, lo har&aacute;n a su costa, asumiendo total responsabilidad sobre el uso de aplicaciones y el manejo de datos personales que corran en las aplicaciones, soportando sus riesgos inherentes y sus implicaciones legales, que no se trasladan a BFA ni a ninguna de las dem&aacute;s Partes que la conforman.</p>
+                            <p>Asimismo, los Usuarios se comprometen a utilizar la plataforma de BFA de conformidad con la ley, as&iacute; como con la moral y buenas costumbres generalmente aceptadas y el orden p&uacute;blico.</p>
+                            <p>El Usuario se obliga a abstenerse de utilizarla con fines o efectos il&iacute;citos, contrarios a lo establecido en las presentes Pol&iacute;ticas de Uso, lesivos de los derechos e intereses de terceros, o que de cualquier forma puedan da&ntilde;ar o inutilizar la plataforma de BFA o impedir la normal utilizaci&oacute;n de la misma por parte de los Usuarios.</p>
+                            <h2 id="2.3">2.3 Reglas de funcionamiento de Cuentas Registradas</h2>
+                            <p>Las transacciones DEBEN ser enviadas a la plataforma BFA desde los nodos transaccionales utilizando un <i>gasPrice</i> uniforme que definir&aacute; el CdA de modo tal que los nodos selladores no den preferencia a unas transacciones sobre otras.</p>
+                            <p>El CdA establecer&aacute; la cantidad de Ether que se asigna peri&oacute;dicamente a cada cuenta estableciendo un valor por defecto y permitiendo incrementarlo en base a solicitudes de los Usuarios y al buen comportamiento de los mismos en relaci&oacute;n al Reglamento Interno y a las Pol&iacute;ticas de Uso.</p>
+                            <p>Ante una violaci&oacute;n (voluntaria o involuntaria) del Reglamento Interno o las Pol&iacute;ticas de Uso por parte de una cuenta asignada a un usuario, el CdA podr&aacute; determinar la reducci&oacute;n de la cantidad de Ether otorgado a esta cuenta hasta que se analice conjuntamente con el Usuario el motivo y el mismo se corrija.</p>
+                            <h2 id="2.4">2.4 Reglas de funcionamiento de Smart Contracts </h2>
+                            <p>El desarrollo y uso de los <i>smart contracts</i> quedar&aacute; bajo la exclusiva responsabilidad y esfera de intimidad del Usuario que los despliegue y los Usuarios que lo invoquen. BFA no asumir&aacute; responsabilidad alguna por los da&ntilde;os que pueda causar dicha vinculaci&oacute;n.</p>
+                            <h4>Almacenamiento <i>off chain</i></h4>
+                            <p>Informaci&oacute;n primaria es la informaci&oacute;n en s&iacute;. En la plataforma blockchain de BFA no se almacena informaci&oacute;n primaria, s&oacute;lo se guardan <i>hashes</i> de esa informaci&oacute;n y no nombres, im&aacute;genes, n&uacute;meros de cuenta, documentos u otros datos (sean privados o no).</p>
+                            <p>Los Usuarios y aplicaciones son responsables de resguardar esos documentos de la manera que consideren m&aacute;s adecuada pero <i>fuera</i> de la cadena de bloques que conforma la plataforma BFA. Al estar los digestos criptogr&aacute;ficos sellados en la blockchain se puede mostrar que los mismos no fueron modificados luego de que ese hash se haya almacenado en la cadena de bloques.</p>
+                            <p>Se apunta, por un lado, a utilizar eficientemente los bloques y, por el otro, a minimizar el riesgo de que informaci&oacute;n que no deber&iacute;a ser p&uacute;blica (por el motivo que fuera) aparezca en la cadena, teniendo en cuenta que, una vez que un dato es ingresado en la cadena, no puede ser eliminado posteriormente.</p>
+                            <p>Las responsabilidades sobre los datos y su protecci&oacute;n (respecto de la Ley de Protecci&oacute;n de Datos Personales, la GDPR, etc.) recaen sobre quien opere sobre esos datos y no sobre BFA.</p>
+                            <p>Cada aplicaci&oacute;n, si lo requiere, DEBER&Aacute; almacenar la informaci&oacute;n primaria <i>off-chain</i>, ya sea en una base de datos tradicional o, si se prefiere/requiere, en otro tipo de repositorio, como por ejemplo un IPFS p&uacute;blico o privado.</p>
+                            <p>La responsabilidad sobre la protecci&oacute;n de ese repositorio recae sobre el operador (u operadores) de la aplicaci&oacute;n y no sobre BFA.</p>
+                            <h4>Eficiencia de los <i>smart contracts</i></h4>
+                            <p>Dado que el Ether que se utiliza para invocar a los <i>smart contracts</i> no tiene costo para los Usuarios, DEBE tenerse especial cuidado en el desarrollo de los <i>smart contracts </i>para que sean eficientes y no consuman muchos recursos. Los <i>smart contracts</i> NO PODR&Aacute;N transferir Ether a otras cuentas ya que la &uacute;nica funci&oacute;n del Ether es ser utilizado como gas y el mismo se distribuye exclusivamente desde la Destiler&iacute;a.</p>
+                            <p>El CdA puede solicitar el an&aacute;lisis de aparentes ineficiencias detectadas en base al consumo de Ether y actuar en consecuencia (ver <a href="#2.3">2.3 Reglas de funcionamiento de cuentas registradas</a>).</p>
+                            <h1 id="3">3. Limitaci&oacute;n de responsabilidades de BFA</h1>
+                            <ul>
+                                <li>BFA no es responsable de los <b>contenidos de las transacciones </b>incorporadas en la blockchain.</li>
+                                <li>BFA certifica exclusivamente que se han recibido transacciones correctamente firmadas, <b>no certifica la exactitud ni veracidad </b>del contenido de los datos encontrados en la blockchain. </li>
+                                <li>BFA no tiene jurisdicci&oacute;n ni responsabilidad sobre el contenido de la blockchain. La responsabilidad sobre los documentos digitales certificados por el Hash de BFA, es pura y exclusiva del Usuario y/o Parte que la gestiona, dentro de su esfera de intimidad.</li>
+                                <li>El hecho de que BFA otorgue Ether para ser utilizado como combustible a terceros para crear transacciones no significa que BFA apruebe ni sea responsable del contenido de las mismas.</li>
+                                <li>BFA no certifica la <b>identidad </b>de los titulares de las cuentas. La firma electr&oacute;nica &nbsp;simplemente atestigua que las transacciones fueron firmadas correctamente por una cuenta determinada.</li>
+                                <li>BFA no garantiza que las <b>transacciones sean finalizadas.</b> Existe la posibilidad que una transacci&oacute;n no quede incorporada en la cadena de bloques (Transacci&oacute;n no exitosa).</li>
+                                <li>BFA no ser&aacute; responsable de los <b>da&ntilde;os directos o indirectos ocasionados a Usuarios finales</b> como consecuencia de operaciones, transacciones o actividades desarrolladas por otros Usuarios de BFA.</li>
+                                <li>No existe un contrato o relaci&oacute;n jur&iacute;dica entre los Usuarios y BFA, sin perjuicio de las relaciones que puedan presentarse entre una Parte y un Usuario. Por lo tanto, BFA no ser&aacute; responsable ante los Usuarios finales por interrupciones en su servicio, fallas operativas, ca&iacute;das del sistema o fallas de cualquier elemento de software o hardware operado por BFA, independientemente de la causa de dicha falla o ca&iacute;da.</li>
+                                <li>El Usuario hace uso del software libre propuesto por BFA, as&iacute; como los desarrollos que pudieran realizarse bajo su exclusiva responsabilidad conforme a los principios del uso de software libre y sistemas inform&aacute;ticos en r&eacute;gimen abierto. Ning&uacute;n Usuario puede reclamar da&ntilde;os o perjuicios a sus contrapartes que les suministren servicios o provean bienes digitales, sobre la base de deficiencias, fallos o defectos del software o de los sistemas operativos empleados en r&eacute;gimen abierto, libre u <em>open source</em>.</li>
+                                <li>Los nodos de BFA no responder&aacute;n frente a otros nodos de la plataforma ante interrupciones operativas, fallas, p&eacute;rdidas o da&ntilde;os ocasionados directa o indirectamente que se originen por el incumplimiento de las reglas de funcionamiento, pol&iacute;ticas de uso &nbsp;y procedimientos establecidos. En caso de detectarse un comportamiento malicioso, se deber&aacute; cumplir con el procedimiento de suspensi&oacute;n y remoci&oacute;n de nodos definido por el CdA para eliminar de forma permanente un nodo/cuenta.</li>
+                            </ul>
+                        </div>
                     </div>
                     <div class="modal-footer">
-                        <button type="button" class="btn btn-primary" data-dismiss="modal"  >Cerrar</button>
+                        <button type="button" class="btn btn-default btn-lg" data-dismiss="modal">Cerrar</button>
                     </div>
                 </div>
             </div>
@@ -178,7 +326,7 @@ Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots
 					required: "Ingresá una contraseña",
 					minlength: "La contraseña debe tener al menos 8 caracteres"
 				},
-                terms: "Debes aceptar la política de uso"
+                terms: "Debés aceptar las políticas de uso de BFA"
 
             },
             rules:{
diff --git a/frontend/templates/django_registration/update_user.html b/frontend/templates/django_registration/update_user.html
index 695a82b556b1f7860d5b36f0da388c7b293a4b7d..eb92c402bd364041e08bb3319dde9be23efcf441 100644
--- a/frontend/templates/django_registration/update_user.html
+++ b/frontend/templates/django_registration/update_user.html
@@ -47,26 +47,26 @@
                     </div>
                     <div class="form-group form-group-lg col-sm-12">
                         <label for="email" class="form-required">Correo electrónico</label>
-                        <input class="form-control" type="text" id="email" name="email" value="{{ user.email }}" size="60" maxlength="255" required="required" aria-required="true">
+                        <input class="form-control" type="text" id="email" name="email" value="{{ user.email }}" size="60" maxlength="255" required="required" aria-required="true" disabled>
                     </div>
                     <div class="form-group form-group-lg col-sm-12">
                         <a href="/change_password/">Cambiar contraseña</a>
                     </div>
                     <div class="form-group form-group-lg col-sm-12">
                         <label for="cuit">CUIT</label>
-                        <input class="form-control" type="text" id="cuit" name="cuit" value="{{ custom_user.cuit|default_if_none:"" }}" size="60" maxlength="13">
+                        <input class="form-control" type="text" id="cuit" name="cuit" value="{{ custom_user.cuit|default_if_none:"" }}" size="60" maxlength="13" disabled>
                     </div>
                     <div class="form-group form-group-lg col-sm-12">
                         <label for="org">Organización</label>
-                        <input class="form-control" type="text" id="organization" name="organization" value="{{ custom_user.organization|default_if_none:"" }}" size="60" maxlength="255">
+                        <input class="form-control" type="text" id="organization" name="organization" value="{{ custom_user.organization|default_if_none:"" }}" size="60" maxlength="255" disabled>
                     </div>
                     <div class="form-group form-group-lg col-sm-12">
                         <label for="rol">Rol</label>
-                        <input class="form-control" type="text" id="rol" name="rol" value="{{ custom_user.rol|default_if_none:"" }}" size="60" maxlength="255">
+                        <input class="form-control" type="text" id="rol" name="rol" value="{{ custom_user.rol|default_if_none:"" }}" size="60" maxlength="255" disabled>
                     </div>
                     <div class="form-group form-group-lg col-sm-12">
                         <label for="sector">Sector</label>
-                        <select name="section" id="section" class="form-control">
+                        <select name="section" id="section" class="form-control" disabled>
                             <option value="">Seleccione un sector</option>
                             {% for section in sections %}
                                 <option value="{{ section.id }}" {% if section.id == custom_user.section_id %}selected="selected"{% endif %}>{{ section.name }}</option>
diff --git a/frontend/views.py b/frontend/views.py
index e94108cc1a91714e573e247809394b0a4e9e12f6..6ff5f893ea6083d8079925bcbae680367d98e800 100644
--- a/frontend/views.py
+++ b/frontend/views.py
@@ -17,9 +17,9 @@ from django.http import HttpResponseRedirect
 from django.http.response import JsonResponse
 from django.contrib.auth.mixins import LoginRequiredMixin
 from django.contrib.auth.views import LoginView
-from django.contrib.auth.models import User
 from django.contrib.auth.decorators import login_required
-
+from django.core.validators import validate_email
+from django.core.exceptions import ValidationError
 from django.contrib import messages
 from django.utils.translation import ugettext as _
 from django.db import transaction, IntegrityError
@@ -334,8 +334,6 @@ class CaptchaLoginView(LoginView):
         form = self.get_form()
         if form.is_valid():
 
-            return self.form_valid(form)
-
             ''' Begin reCAPTCHA validation '''
             recaptcha_response = request.POST.get('g-recaptcha-response')
             data = {
@@ -394,20 +392,41 @@ def update_user(request):
     else:
 
         try:
+
+            email_changed = False
+
             with transaction.atomic():
 
                 user.first_name = request.POST['first_name']
                 user.last_name = request.POST['last_name']
-                user.email = request.POST['email']
+                # Tarea #18822 - [BFA-registro] Campo mail - Readonly - INICIO
+                #validate_email(request.POST['email'])
+                # Tarea #18822 - [BFA-registro] Campo mail - Readonly - FIN
+
+                # Cambio para tener que validar la cuenta cuando se cambia el mail. Queda para el futuro
+                # if user.email != request.POST['email']:
+                #     user.is_active = False
+                #     send_email_changed_email(request, request.POST['email'])
+                #     email_changed = True
+                # Fin
+
+                # Tarea #18822 - [BFA-registro] Campo mail - Readonly - INICIO
+                #user.email = request.POST['email']
+                # Tarea #18822 - [BFA-registro] Campo mail - Readonly - FIN
                 user.save()
 
-                custom_user.cuit = request.POST['cuit']
-                custom_user.organization = request.POST['organization']
-                custom_user.rol = request.POST['rol']
-                custom_user.section_id = request.POST['section']
-                custom_user.save()
+                # Tarea #18590 - [BFA-registro] bloquear edición de campos en front-end - INICIO
+                #
+                # custom_user.cuit = request.POST['cuit']
+                # custom_user.organization = request.POST['organization']
+                # custom_user.rol = request.POST['rol']
+                # custom_user.section_id = request.POST['section']
+                # custom_user.save()
+                # Tarea #18590 - [BFA-registro] bloquear edición de campos en front-end - FIN
 
                 messages.success(request, _('user_updated'))
+        except ValidationError as e:
+            messages.error(request, str(e.messages[0]), extra_tags='danger')
         except Exception as e:
             messages.error(request, _('user_update_error'), extra_tags='danger')
             client.captureException()
@@ -416,6 +435,33 @@ def update_user(request):
         return HttpResponseRedirect('/mis_datos/')
 
 
+def send_email_changed_email(request, new_email):
+
+    try:
+        r = RegistrationView()
+        activation_key = r.get_activation_key(request.user)
+
+        context = {}
+
+        context['user'] = request.user
+        context['activation_key'] = activation_key
+        context['scheme'] = 'https' if request.is_secure() else 'http'
+        context['site'] = get_current_site(request)
+
+        message = render_to_string(
+            template_name='django_registration/email_changed_body.html',
+            context=context,
+            request=request
+        )
+
+        request.user.email = new_email
+        request.user.email_user(_('email_changed_subject'), message, settings.DEFAULT_FROM_EMAIL, html_message=message)
+    except Exception as e:
+        client.captureException()
+        logger.error(str(e))
+        raise
+
+
 @login_required(login_url='/accounts/login/')
 def change_password(request):
     if request.method == 'GET':
diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo
index 6acd14ee47a2649d2844080090aa7df67945e2c2..9e752054f957dff51578e5708a04e31212a43514 100644
Binary files a/locale/en/LC_MESSAGES/django.mo and b/locale/en/LC_MESSAGES/django.mo differ
diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po
index 8074572a0b91d832945f32603153facf241726b2..18d0ce8136283b31a4716f1c3a88f1d645cb526a 100644
--- a/locale/en/LC_MESSAGES/django.po
+++ b/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-01-31 11:11-0300\n"
+"POT-Creation-Date: 2019-04-04 12:03-0300\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: Poppins/settings.py:127
+#: Poppins/settings.py:130
 msgid "Spanish"
 msgstr ""
 
@@ -95,7 +95,7 @@ msgstr ""
 msgid "no_se_encontraron_cuentas"
 msgstr ""
 
-#: frontend/templates/dapp/account_list.html:212
+#: frontend/templates/dapp/account_list.html:234
 msgid "no_se_encontraron_cuentas_existentes"
 msgstr ""
 
@@ -143,71 +143,79 @@ msgstr ""
 msgid "password_reset_complete"
 msgstr ""
 
-#: frontend/views.py:72 frontend/views.py:344
+#: frontend/views.py:71 frontend/views.py:352
 msgid "invalid_captcha"
 msgstr "No reCAPTCHA"
 
-#: frontend/views.py:98
+#: frontend/views.py:97
 msgid "error_register"
 msgstr ""
 
-#: frontend/views.py:176
+#: frontend/views.py:179
 msgid "account_added"
 msgstr ""
 
-#: frontend/views.py:178
+#: frontend/views.py:184
 msgid "existing_account"
 msgstr ""
 
-#: frontend/views.py:180
+#: frontend/views.py:186
 msgid "address_not_valid"
 msgstr ""
 
-#: frontend/views.py:183 frontend/views.py:185 frontend/views.py:188
-#: frontend/views.py:240 frontend/views.py:243
+#: frontend/views.py:190 frontend/views.py:193 frontend/views.py:198
+#: frontend/views.py:248 frontend/views.py:253
 msgid "error_create_view"
 msgstr ""
 
-#: frontend/views.py:183
+#: frontend/views.py:190
 msgid "existing_service"
 msgstr ""
 
-#: frontend/views.py:235
+#: frontend/views.py:243
 msgid "existing_account_added"
 msgstr ""
 
-#: frontend/views.py:238
+#: frontend/views.py:246
 msgid "user_already_has_account"
 msgstr ""
 
-#: frontend/views.py:286
+#: frontend/views.py:294 logica_cuentas/services.py:117
 msgid "cuenta_borrada"
 msgstr ""
 
-#: frontend/views.py:290
+#: frontend/views.py:298 logica_cuentas/services.py:121
 msgid "cuenta_desvinculada"
 msgstr ""
 
-#: frontend/views.py:293
+#: frontend/views.py:301
 msgid "error_borrar_cuenta"
 msgstr ""
 
-#: frontend/views.py:305
+#: frontend/views.py:313
 msgid "ether_solicitado"
 msgstr ""
 
-#: frontend/views.py:308
+#: frontend/views.py:316
 msgid "error_peticion_ether"
 msgstr ""
 
-#: frontend/views.py:403
+#: frontend/views.py:427
+msgid "email_changed"
+msgstr ""
+
+#: frontend/views.py:429
 msgid "user_updated"
 msgstr ""
 
-#: frontend/views.py:405
+#: frontend/views.py:433
 msgid "user_update_error"
 msgstr ""
 
-#: frontend/views.py:420
+#: frontend/views.py:460
+msgid "email_changed_subject"
+msgstr ""
+
+#: frontend/views.py:476
 msgid "password_changed"
 msgstr ""
diff --git a/locale/es/LC_MESSAGES/django.mo b/locale/es/LC_MESSAGES/django.mo
index 50643e4f77afbbb39b333d814624535a3939c0d5..271863f2835bd6af983d024efd719d7466a91b67 100644
Binary files a/locale/es/LC_MESSAGES/django.mo and b/locale/es/LC_MESSAGES/django.mo differ
diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po
index 3fe005f4a2f5bf26174bba8bfc12b2686490f1da..267d5c3a596258c8ff185ff759bb5dc132fa7faf 100644
--- a/locale/es/LC_MESSAGES/django.po
+++ b/locale/es/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-01-31 11:11-0300\n"
+"POT-Creation-Date: 2019-04-04 12:03-0300\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: Poppins/settings.py:127
+#: Poppins/settings.py:130
 msgid "Spanish"
 msgstr ""
 
@@ -95,7 +95,7 @@ msgstr "Cuentas"
 msgid "no_se_encontraron_cuentas"
 msgstr "Todavía no tenés cuentas asociadas a tu usuario."
 
-#: frontend/templates/dapp/account_list.html:212
+#: frontend/templates/dapp/account_list.html:234
 msgid "no_se_encontraron_cuentas_existentes"
 msgstr "No se encontraron cuentas existentes para agregar"
 
@@ -143,73 +143,83 @@ msgstr "¿Olvidaste tu contraseña?"
 msgid "password_reset_complete"
 msgstr "Tu contraseña ha sido cambiada"
 
-#: frontend/views.py:72 frontend/views.py:344
+#: frontend/views.py:71 frontend/views.py:352
 msgid "invalid_captcha"
 msgstr "Completá el captcha"
 
-#: frontend/views.py:98
+#: frontend/views.py:97
 msgid "error_register"
 msgstr "Ocurrió un error al realizar el registro"
 
-#: frontend/views.py:176
+#: frontend/views.py:179
 msgid "account_added"
 msgstr "Cuenta %s agregada"
 
-#: frontend/views.py:178
+#: frontend/views.py:184
 msgid "existing_account"
 msgstr "La cuenta %s ya se encuentra registrada"
 
-#: frontend/views.py:180
+#: frontend/views.py:186
 msgid "address_not_valid"
 msgstr "La dirección %s no es válida"
 
-#: frontend/views.py:183 frontend/views.py:185 frontend/views.py:188
-#: frontend/views.py:240 frontend/views.py:243
+#: frontend/views.py:190 frontend/views.py:193 frontend/views.py:198
+#: frontend/views.py:248 frontend/views.py:253
 msgid "error_create_view"
 msgstr "Ocurrió un error al intentar agregar la cuenta"
 
-#: frontend/views.py:183
+#: frontend/views.py:190
 msgid "existing_service"
 msgstr "Ya existe un servicio llamado %s"
 
-#: frontend/views.py:235
+#: frontend/views.py:243
 msgid "existing_account_added"
 msgstr "La cuenta existente %s fue agregada"
 
-#: frontend/views.py:238
+#: frontend/views.py:246
 msgid "user_already_has_account"
 msgstr "La cuenta %s ya ha sido vinculada"
 
-#: frontend/views.py:286
+#: frontend/views.py:294 logica_cuentas/services.py:117
 msgid "cuenta_borrada"
 msgstr "La cuenta %s ha sido borrada"
 
-#: frontend/views.py:290
+#: frontend/views.py:298 logica_cuentas/services.py:121
 msgid "cuenta_desvinculada"
 msgstr "La cuenta %s ha sido desvinculada"
 
-#: frontend/views.py:293
+#: frontend/views.py:301
 msgid "error_borrar_cuenta"
 msgstr "Ocurrió un error al intentar borrar la cuenta"
 
-#: frontend/views.py:305
+#: frontend/views.py:313
 msgid "ether_solicitado"
 msgstr ""
 "Su solicitud de carga para la cuenta %s será evaluada por los "
 "administradores. Nos contactaremos a la brevedad."
 
-#: frontend/views.py:308
+#: frontend/views.py:316
 msgid "error_peticion_ether"
 msgstr "No se pudo realizar la petición"
 
-#: frontend/views.py:403
+#: frontend/views.py:427
+msgid "email_changed"
+msgstr ""
+"Al cambiar tu dirección de E-mail debes activar nuevamente tu cuenta. "
+"Verificá el link que hemos enviado a tu correo"
+
+#: frontend/views.py:429
 msgid "user_updated"
 msgstr "Usuario modificado"
 
-#: frontend/views.py:405
+#: frontend/views.py:433
 msgid "user_update_error"
 msgstr "Ocurrió un error al intentar modificar el usuario"
 
-#: frontend/views.py:420
+#: frontend/views.py:460
+msgid "email_changed_subject"
+msgstr "E-mail modificado"
+
+#: frontend/views.py:476
 msgid "password_changed"
 msgstr "Contraseña modificada. Por favor ingresá nuevamente"