Para la revisión de seguridad
Dossier de seguridad y cumplimiento
https://sharelio.com/es/seguridad/
Esta página existe para que aprobar Sharelio no requiera una llamada con nosotros. Está todo: el manifiesto del paquete campo por campo, el único permiso que pide, los permisos que deliberadamente no pide, qué sale de tu tenant, quién lo trata y cómo verificar tú mismo cada afirmación de esta página.
Si eres el administrador que tiene que desplegarlo, la guía paso a paso está en Instalar Sharelio. Esta es la página que se adjunta al ticket.
La versión corta
| Pregunta | Respuesta |
|---|---|
| ¿Qué estoy instalando? | Un paquete SPFx estándar. Es un motor de render, no un generador de código: pinta componentes a partir de configuraciones JSON declarativas. |
| ¿Cuántos permisos pide? | Uno. Sharelio / Components.Read, delegado y de solo lectura, sobre la configuración de tus propios componentes. |
| ¿Pide permisos de Microsoft Graph? | No. Ninguno. Ni sobre tus listas, ni tus archivos, ni tu correo, ni tu directorio. |
| ¿Hace falta ser administrador global? | No. Basta con el rol de administrador de SharePoint. |
| ¿Dónde están los datos de mis listas? | En tu tenant, en tus listas de SharePoint. Se leen en el navegador de tu empleado y no pasan por Sharelio. |
| ¿Qué guarda Sharelio? | La configuración de los componentes —qué lista leer y cómo pintarla—, nunca su contenido. |
| ¿Sharelio custodia credenciales de mi tenant? | No. No almacena ningún token, secreto ni refresh token tuyo. Solo verifica las firmas que emite Microsoft. |
| ¿Puede ejecutar código arbitrario en mis páginas? | No. El esquema JSON es cerrado: no puede expresar código, ni expresiones evaluables, ni HTML, ni URLs arbitrarias. requiresCustomScript es false. |
| ¿Cómo lo quito? | Quitar el permiso de API y eliminar el paquete del App Catalog. Tus listas y sus datos quedan intactos. |
El paquete, campo por campo
Estos valores salen del paquete que puedes descargar. Puedes casarlos uno a uno con lo que te enseñe tu App Catalog.
| Campo | Valor |
|---|---|
| Nombre del paquete | sharelio-host.sppkg |
| Fabricante | Sharelio |
| Id de solución | dc282acf-d064-49b2-aca4-b8c5d6eb66a5 |
| Id de característica | db7ddf40-719b-4fe8-a15e-9ae540a58aab |
| Id del web part | 5681b319-fd19-4756-8b30-66ec5d49e00b |
| SharePoint Framework | 1.23.2 (React 17, Fluent UI v8) |
| skipFeatureDeployment | true: se despliega una vez para todo el tenant. No hay que añadir la app sitio por sitio. |
| isDomainIsolated | false. No es una preferencia: Microsoft retiró los web parts domain-isolated el 2 de abril de 2026, así que es la única opción disponible. |
| requiresCustomScript | false: el componente nunca incrusta script escrito por el autor de la página. |
| includeClientSideAssets | true: el JavaScript se sirve desde tu propio tenant, no desde un CDN nuestro. |
| Hosts soportados | SharePointWebPart, SharePointFullPage, TeamsTab, TeamsPersonalApp |
| Permiso de API solicitado | { resource: "Sharelio", scope: "Components.Read" }, y nada más. |
| Aplicación de Entra ID | 9694b001-0249-43cb-b571-1ba792505fbd (App ID URI api://9694b001-0249-43cb-b571-1ba792505fbd). Multi-tenant, propiedad de Sharelio. |
La versión que apruebas es la que seguirá corriendo. Como el paquete es un motor y no un generador, tu equipo puede publicar cincuenta componentes sin un solo despliegue nuevo, sin un solo permiso nuevo y sin un solo ticket para ti. Lo que cambia es la configuración, nunca el código.
El único permiso — y todo lo que no es
La dirección de este permiso es la parte que casi todo el mundo lee al revés, así que conviene ser preciso: el token se emite hacia la API de Sharelio, no hacia tus datos.
El web part, corriendo dentro de tu tenant, pide a Entra ID un token dirigido a Sharelio y nos lo presenta para que sepamos qué organización pregunta. Nosotros verificamos la firma, la audiencia, el emisor y el id de tenant contra las claves públicas de Microsoft, y devolvemos la configuración de los componentes que ese mismo tenant publicó. No nos compra acceso a nada tuyo.
Permisos que Sharelio no pide
| Permiso | ¿Se pide? |
|---|---|
| Microsoft Graph — <code>Sites.Read.All</code> | No |
| Microsoft Graph — <code>Files.Read.All</code> | No |
| Microsoft Graph — <code>User.Read.All</code> / directorio | No |
| Microsoft Graph — <code>Mail.*</code> | No |
| SharePoint REST como aplicación (app-only) | No |
| Consentimiento de administrador global sobre el tenant | No |
Esto no es una promesa sobre nuestro roadmap que haya que creerse: es comprobable hoy. El paquete declara sus solicitudes de permiso en el manifiesto, tu App Catalog te enseña la lista completa antes de que apruebes, y cualquier permiso que añadiéramos después aparecería ahí como una nueva aprobación pendiente que solo puedes conceder tú.
Sharelio no tiene identidad propia dentro de tu SharePoint
Sharelio sí escribe en tu tenant: puede crear la lista que una herramienta necesita, y sus componentes pueden abrir el formulario de alta de SharePoint. Así que la garantía que damos no es la débil («no escribimos») sino esta otra, más fuerte:
Todo lo que Sharelio hace dentro de tu SharePoint, lo hace como la persona que está delante de la pantalla, con sus permisos. No hay cuenta de servicio, ni identidad de aplicación, ni privilegio nuestro que escalar.
- Lecturas. Las filas las lee el navegador con la sesión de SharePoint del propio empleado. Quien no puede abrir una lista tampoco la verá a través de Sharelio, y las filas no viajan hasta nosotros.
- Escrituras. La provisión de listas corre con esa misma sesión, acotada al sitio actual. Si esa persona no puede crear listas ahí, Sharelio tampoco: SharePoint le dice que no exactamente igual que si lo hubiera intentado a mano.
- Nunca por sorpresa. Se enseña la lista completa de columnas y hay que pulsar un botón. Solo ocurre en modo edición de página: quien solo está viendo una página nunca provoca una escritura.
- Nunca destructivo. Si la lista existe se reutiliza, si faltan columnas se añaden, y una columna con el mismo nombre y otro tipo detiene la operación con un aviso: no se convierte ni se sobrescribe nada.
Si quieres descartar las escrituras del todo, no hace falta desinstalar nada: basta con no dar permisos de edición sobre el sitio. Sin ellos nadie puede colocar un web part, y sin colocarlo no hay nada que crear.
Qué sale de tu tenant y qué no sale nunca
| Dato | ¿Sale del tenant? | Detalle |
|---|---|---|
| Contenido de tus listas de SharePoint | Nunca | Se lee en el navegador y se pinta en el navegador. No pasa por nuestro backend en ningún momento. |
| Tus documentos, correo, calendario, directorio | Nunca | No tenemos ningún permiso que pudiera alcanzarlos. |
| Configuración de los componentes | Sí | Qué lista leer, qué columnas, cómo formatearlas y filtrarlas. La crea tu equipo en el studio de Sharelio y se guarda en nuestro backend. |
| La descripción que escribe tu equipo | Sí | La frase en lenguaje natural con la que se genera un componente, y los nombres de las listas y columnas a las que se refiere. |
| Id de tenant y usuario autenticado | Sí | Para resolver qué organización pregunta y para registrar quién creó cada componente. |
| Credenciales o tokens tuyos | No se almacenan | El token se verifica al llegar y se descarta. No hay ningún secreto tuyo que podamos perder. |
Qué ve la IA
Los componentes los genera un modelo de lenguaje, así que es legítimo preguntar qué le llega exactamente. La descripción que escribe tu compañero y los nombres de listas y columnas. Nunca las filas.
El modelo no tiene —ni podría tener— acceso a tus datos: la generación ocurre en nuestro backend, que de entrada nunca tiene el contenido de tus listas. Y la salida tampoco es código: es una configuración JSON que se valida contra un esquema cerrado antes de guardarse, y que se rechaza de plano si no encaja.
- Proveedor: Anthropic (
claude-sonnet-5), a través de su API comercial. - Entrenamiento: según los términos comerciales de la API de Anthropic, los datos enviados a través de la API no se usan para entrenar modelos.
- Determinismo: devuelva lo que devuelva el modelo, solo puede guardarse y renderizarse lo que el esquema permite. El límite es el esquema, no el prompt.
Subencargados
Todos los proveedores que tratan datos por nuestra cuenta, con contrato de encargado de tratamiento. No vendemos ni cedemos datos a nadie más.
| Proveedor | Para qué | Dónde | Qué puede ver |
|---|---|---|---|
| Supabase | Base de datos, autenticación y funciones de backend | [REGION_SUPABASE] | Configuraciones de componentes, cuentas, id de tenant |
| Anthropic | Generación de componentes | Estados Unidos | La descripción que escribe tu equipo; ningún dato de las listas |
| Vercel | Alojamiento de la web y del studio | CDN global | Metadatos de las peticiones |
| Stripe | Cobro de las suscripciones | UE / Estados Unidos | Datos de facturación; ningún contenido del producto |
| Resend | Email de aviso de las consultas de la web | UE (eu-west-1) | Los datos de contacto que envías en un formulario |
| Plausible Analytics | Estadísticas anónimas de la web | UE (Alemania) | Sin cookies, sin guardar la IP y sin perfiles |
Cuando un proveedor trata datos fuera del Espacio Económico Europeo, la transferencia se ampara en las Cláusulas Contractuales Tipo de la Comisión Europea.
Qué guardamos y cuánto tiempo
| Registro | Conservación |
|---|---|
| Configuraciones de componentes y su historial de versiones | Mientras tu cuenta esté activa. Se borran a petición o al cerrar la cuenta. |
| Quién creó cada componente y cuándo | Lo mismo que el componente. Es lo que hace útil tu panel de gobierno. |
| Registro de generación (coste, éxito, modelo) | Se conserva para monitorización operativa. No contiene datos de listas. |
| Consultas de la web (leads) | Hasta 24 meses desde el último contacto, o hasta que pidas que los borremos. |
| Registros antiabuso (hashes de IP de un solo sentido) | 90 días. |
Para solicitar acceso, exportación o borrado, escribe a hola@sharelio.com. Respondemos en un plazo de 30 días.
Cómo verificar todo esto tú mismo
Nada de esta página te pide que te fíes. Todo es comprobable antes de aprobar nada, y sin cuenta de Sharelio.
- Descarga el paquete. sharelio-host.sppkg, sin registro y sin login.
- Comprueba su integridad. El SHA-256 que publicamos está en sharelio-host.sppkg.sha256. En Windows:
Get-FileHash sharelio-host.sppkg -Algorithm SHA256. En macOS o Linux:shasum -a 256 sharelio-host.sppkg. - Ábrelo. Un
.sppkges un zip. Renómbralo y descomprímelo: los manifiestos llevan los ids de la tabla de arriba y la solicitud de permiso, y los assets de cliente llevan el JavaScript que se va a ejecutar. - Lee la solicitud de permiso en tu propio catálogo. Sube el paquete a tu App Catalog y mira «Acceso a API» antes de aprobar. La lista que ves ahí es la completa: no se puede pedir nada después sin que aparezca como una nueva aprobación pendiente.
- Pídenos el esquema. El esquema JSON que acota lo que un componente puede describir está disponible a petición en hola@sharelio.com. Es cerrado: ni código, ni expresiones evaluables, ni HTML, ni URLs arbitrarias.
Lo que todavía no tenemos
Un dossier que solo enumera fortalezas no es un dossier. Sharelio es una empresa joven, y estos son los huecos que ibas a encontrar de todas formas:
- No tenemos certificación ISO 27001 ni SOC 2 propia. Nuestros proveedores de infraestructura tienen las suyas; nosotros todavía no tenemos la nuestra, y no vamos a insinuar lo contrario.
- No hay test de intrusión independiente publicado. Si vuestro proceso lo exige, decídnoslo y hablamos del alcance.
- No hay compromiso de soporte 24/7 fuera de un acuerdo Enterprise.
Lo que ofrecemos a cambio es aquello de lo que las certificaciones son un sustituto: una superficie lo bastante pequeña como para auditarla en una tarde. Un paquete, un permiso delegado de solo lectura, sin acceso a Graph, sin custodia de tus datos, y una desinstalación que deja tus listas exactamente como estaban.
Cómo quitarlo
- Quitar el permiso: Centro de administración de SharePoint → Avanzado → Acceso a API → seleccionar Sharelio → Quitar.
- Retirar el paquete: eliminarlo del App Catalog.
Los componentes dejan de renderizarse inmediatamente. Tus listas y sus datos quedan intactos, porque nunca salieron de tu tenant. Si lo que quieres es apagar un solo componente, TI no tiene que intervenir: se desactiva de forma centralizada desde el panel de gobierno de Sharelio.
Lo que una revisión de seguridad suele preguntar después
¿Puede Sharelio leer los datos de nuestras listas de SharePoint?
No, y no por política sino por construcción. Las filas las lee el navegador del empleado con su propia sesión de SharePoint y se pintan ahí. No llegan a nuestro backend, y no tenemos ningún permiso de Microsoft Graph ni de la API de SharePoint que pudiera alcanzarlas desde nuestro lado.
¿Qué pasa si Sharelio deja de estar disponible o cierra?
Los componentes dejan de renderizarse, porque la configuración la servimos nosotros. Tus datos no se ven afectados: viven en tus listas de SharePoint y siguen ahí, legibles y utilizables igual que antes, porque nunca los tuvimos. Desinstalar el paquete deja las listas intactas.
¿El paquete llama a dominios de terceros desde nuestras páginas?
Llama a la API de Sharelio para pedir la configuración del componente que está renderizando, y a nada más. El JavaScript se sirve desde tu propio tenant (includeClientSideAssets es true), no desde un CDN externo, y el esquema JSON no puede expresar URLs arbitrarias, así que no se puede hacer que un componente llame a otro sitio.
¿Puede un empleado usar Sharelio para ver datos que no le corresponden?
No. Cada lectura ocurre con la sesión de SharePoint de ese empleado, así que los permisos de SharePoint se aplican sin cambios. Un componente colocado en una página que lee una lista a la que quien mira no tiene acceso le mostrará un error de acceso, no los datos.
¿Firmáis un DPA?
Sí. Escribe a hola@sharelio.com y te lo mandamos. Esta página lista nuestros subencargados para que puedas revisarlos antes de pedirlo.
¿Cómo sabemos que una versión futura no pedirá más permisos?
No hace falta que os fiéis de nuestra palabra: SharePoint no deja que ocurra en silencio. Un paquete que solicita un permiso de API nuevo genera una nueva aprobación pendiente en vuestro centro de administración, que solo puede conceder vuestro administrador. Hasta entonces, la solicitud nueva simplemente no tiene efecto.