Pablo Zavala · Évaluation de sécurité IA · Ingénierie de recherche
Frontières de confidentialité inspectables en SQLite pour jeux de texte libre
Un prototype sans dépendances publie de la structure à partir d'un jeu de données de texte libre en SQLite sans exposer les lignes brutes ni les tables de base privées. Le caviardage par motifs nettoie le texte avant stockage, un plancher de texte distinct de k=5 contrôle chaque sujet public et cellule agrégée, et l'authorizer de SQLite refuse les écritures, les tables privées et les colonnes sensibles à chaque requête.
Six auto-vérifications de frontière contrôlent la CI : déterminisme, un plancher de texte distinct k=5, un authorizer SQL en lecture seule, du caviardage au repos, un audit chaîné par hash et un extrait sans table privée
Dépôt public et reproductible
Les contrôles restent structurels plutôt que sémantiques ; le caviardage par motifs manque le texte auto-identifiant inédit, et le plancher compte du texte distinct plutôt que des personnes.
Rôle: Auteur unique : conception de la frontière, authorizer de SQLite, couches de caviardage et de regroupement déterministe de sujets, audit chaîné par hash et la suite d'auto-vérification.
Carte d'évaluation
Résultat principal
Échantillon
Dépôt public et reproductible
Correcteur
Comparaison avec l'affirmation publique et ses artefacts de preuve
Résultat
Six auto-vérifications de frontière contrôlent la CI : déterminisme, un plancher de texte distinct k=5, un authorizer SQL en lecture seule, du caviardage au repos, un audit chaîné par hash et un extrait sans table privée
Limite
Les contrôles restent structurels plutôt que sémantiques ; le caviardage par motifs manque le texte auto-identifiant inédit, et le plancher compte du texte distinct plutôt que des personnes.
Signal de preuve
Échantillon
Un plancher de texte distinct de k=5 contrôle chaque sujet public et cellule agrégée, et bloque l'inondation de doublons exacts
Correcteur
Lecture de dépôts, rapports, données versionnées ou démos publiques
Résultat
L'authorizer d'instructions analysées de SQLite refuse les écritures, les tables de base privées, les colonnes sensibles, sqlite_master et les fonctions non approuvées
Limite
Les contrôles restent structurels plutôt que sémantiques ; le caviardage par motifs manque le texte auto-identifiant inédit, et le plancher compte du texte distinct plutôt que des personnes.
Axes d'évaluation avec échantillon, correcteur, résultat et limite.
Axe
Échantillon
Correcteur
Résultat
Limite
Résultat principal
Dépôt public et reproductible
Comparaison avec l'affirmation publique et ses artefacts de preuve
Six auto-vérifications de frontière contrôlent la CI : déterminisme, un plancher de texte distinct k=5, un authorizer SQL en lecture seule, du caviardage au repos, un audit chaîné par hash et un extrait sans table privée
Les contrôles restent structurels plutôt que sémantiques ; le caviardage par motifs manque le texte auto-identifiant inédit, et le plancher compte du texte distinct plutôt que des personnes.
Signal de preuve
Un plancher de texte distinct de k=5 contrôle chaque sujet public et cellule agrégée, et bloque l'inondation de doublons exacts
Lecture de dépôts, rapports, données versionnées ou démos publiques
L'authorizer d'instructions analysées de SQLite refuse les écritures, les tables de base privées, les colonnes sensibles, sqlite_master et les fonctions non approuvées
Les contrôles restent structurels plutôt que sémantiques ; le caviardage par motifs manque le texte auto-identifiant inédit, et le plancher compte du texte distinct plutôt que des personnes.
Comment inspecter ce travail
Question évaluée
Un prototype sans dépendances publie de la structure à partir d'un jeu de données de texte libre en SQLite sans exposer les lignes brutes ni les tables de base privées. Le caviardage par motifs nettoie le texte avant stockage, un plancher de texte distinct de k=5 contrôle chaque sujet public et cellule agrégée, et l'authorizer de SQLite refuse les écritures, les tables privées et les colonnes sensibles à chaque requête.
Preuve inspectable
Preuve principale : Six auto-vérifications de frontière contrôlent la CI : déterminisme, un plancher de texte distinct k=5, un authorizer SQL en lecture seule, du caviardage au repos, un audit chaîné par hash et un extrait sans table privée. Surface : Dépôt public et reproductible.
Limite de l'affirmation
Les contrôles restent structurels plutôt que sémantiques ; le caviardage par motifs manque le texte auto-identifiant inédit, et le plancher compte du texte distinct plutôt que des personnes.
Étude de cas
Problème
Un prototype sans dépendances publie de la structure à partir d'un jeu de données de texte libre en SQLite sans exposer les lignes brutes ni les tables de base privées. Le caviardage par motifs nettoie le texte avant stockage, un plancher de texte distinct de k=5 contrôle chaque sujet public et cellule agrégée, et l'authorizer de SQLite refuse les écritures, les tables privées et les colonnes sensibles à chaque requête.
Contexte
Le prototype répond à une seule question : un jeu de données de texte libre adossé à SQLite peut-il exposer une structure publique utile sans laisser fuir de lignes brutes ni de tables de base privées ? Pour y répondre, le code sépare un magasin privé d'une surface publique étroite et impose l'écart par des contrôles durs et inspectables plutôt que par convention.
Méthode
Rôle de Pablo : Auteur unique : conception de la frontière, authorizer de SQLite, couches de caviardage et de regroupement déterministe de sujets, audit chaîné par hash et la suite d'auto-vérification. SQLite authorizer sandboxing, Pattern-based PII redaction, k=5 distinct-text public views
Résultat
Six auto-vérifications de frontière contrôlent la CI : déterminisme, un plancher de texte distinct k=5, un authorizer SQL en lecture seule, du caviardage au repos, un audit chaîné par hash et un extrait sans table privée Un plancher de texte distinct de k=5 contrôle chaque sujet public et cellule agrégée, et bloque l'inondation de doublons exacts
Limite
Les contrôles restent structurels plutôt que sémantiques ; le caviardage par motifs manque le texte auto-identifiant inédit, et le plancher compte du texte distinct plutôt que des personnes.
Preuve
Dépôt public et reproductible La preuve principale se trouve dans les liens de la section matériaux.
Résultats clés
Un plancher de texte distinct de k=5 contrôle chaque sujet public et cellule agrégée, et bloque l'inondation de doublons exacts
L'authorizer d'instructions analysées de SQLite refuse les écritures, les tables de base privées, les colonnes sensibles, sqlite_master et les fonctions non approuvées
Le caviardage par motifs s'exécute avant la troncature et normalise les homoglyphes unicode, en retirant courriels, téléphones, liens, handles, adresses et séquences de type ZIP
Une vérification de vue canonique rejette les vues publiques dont le SQL dévie de la définition publiée, de sorte qu'une vue renommée n'hérite pas de la confiance liée à son nom
L'extrait publié omet les tables de base privées, les lignes d'audit et le texte au niveau des lignes, et fixe le head d'audit et le nombre de lignes source pour vérification externe
Un journal d'audit chaîné par hash détecte l'altération d'une ligne à lui seul et la suppression de queue une fois le head et le nombre fixés
Six auto-vérifications et une suite unitaire de 13 tests s'exécutent sur Python 3.11, 3.12 et 3.13 sans dépendance tierce à l'exécution