Skip to content

About

The policy that decides what Leaner may delete, published for auditing

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

PathPolicy — la política de borrado de Leaner

Este repositorio contiene, tal cual, el archivo que decide qué puede y qué no puede borrar Leaner, junto con sus tests. Se publica para que cualquiera pueda auditar esa decisión sin fiarse de nuestra palabra.

Leaner pide «Acceso total al disco» y borra archivos. Es razonable querer ver el código que pone los límites antes de concederle eso.

Qué garantiza

PathPolicy es la autoridad única: la app la consulta al escanear y otra vez justo antes de cada eliminación, de modo que un error en cualquier escáner no puede traducirse en borrar algo fuera de política.

  • Lista blanca de ámbitos: la carpeta del usuario, $TMPDIR y —solo al desinstalar— el .app elegido dentro de /Applications. Nada más es elegible.
  • Vetos absolutos: /System, /Library, /usr, /bin, /sbin, /etc, /var, /private, /opt, /Volumes, /Network…
  • Vetos dentro del home: Mail, Mensajes, Fotos, llaveros, iCloud Drive, contenedores de Apple, Calendarios, Recordatorios, Safari…
  • Nunca el propio home ni sus carpetas de primer nivel, ni las de primer nivel de ~/Library.
  • Bibliotecas de datos protegidas por extensión (.photoslibrary, .musiclibrary, .sparsebundle…): ni se borran ni se recorren.
  • Preferencias, cookies, LaunchAgents y contenedores solo los toca el desinstalador, y solo para la app que se está desinstalando.

Auditarlo

git clone https://github.com/leaner-app/path-policy
cd path-policy
swift test

Los tests son los mismos que corren en la app y cubren los casos que importan: que un hijo de ~/Library/Caches se pueda borrar pero la carpeta Caches no; que no se pueda escapar del ámbito declarado con ..; que las zonas prohibidas sigan prohibidas aunque el escáner se equivoque; y que las excepciones (descargas de Mail, copias de iPhone) no abran la puerta a otros contenedores de Apple.

VERSION indica a qué versión publicada de Leaner corresponde esta copia y el sha256 del archivo, para que puedas comprobar que es exactamente el que se compiló.

Qué NO hay aquí

El resto de la app (interfaz, escáneres, desinstalador, actualizador) es de código cerrado. Este repositorio no pretende ser una biblioteca reutilizable: es una pieza publicada para poder ser revisada.

Licencia

MIT. Ver LICENSE.

About

The policy that decides what Leaner may delete, published for auditing

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages