""" AI Act Risk Classifier - EU AI Act Compliance Tool Powered by AYI-NEDJIMI Consultants (https://ayinedjimi-consultants.fr) """ import gradio as gr import plotly.graph_objects as go import json # --------------------------------------------------------------------------- # Translations # --------------------------------------------------------------------------- TEXTS = { "fr": { "title": "Classificateur de Risque - AI Act de l'UE", "subtitle": "Outil interactif de classification des risques selon le Reglement europeen sur l'IA (EU AI Act)", "tab1": "Classificateur de Risque", "tab2": "Niveaux de Risque", "tab3": "Pratiques Interdites", "tab4": "Checklist de Conformite", "tab5": "Calendrier", "tab6": "Ressources", "classify_btn": "Classifier le systeme IA", "clear_btn": "Reinitialiser", "q_function": "Quelle est la fonction principale du systeme IA ?", "q_public": "Est-il utilise par des autorites publiques ?", "q_interact": "Interagit-il directement avec des humains ?", "q_deepfake": "Genere-t-il des deepfakes ou du contenu synthetique ?", "q_critical": "Est-il utilise pour des infrastructures critiques ?", "q_decisions": "Prend-il des decisions affectant des personnes physiques ?", "q_gpai": "Est-ce un modele IA a usage general (GPAI) ?", "q_context": "Quel est le contexte de deploiement ?", "q_emotion": "Effectue-t-il de la reconnaissance des emotions ?", "q_biometric_cat": "Utilise-t-il la categorisation biometrique ?", "q_subliminal": "Utilise-t-il des techniques subliminales ou manipulatrices ?", "q_social_scoring": "Effectue-t-il du scoring social ?", "yes": "Oui", "no": "Non", "functions": [ "Identification biometrique", "Scoring social", "Recrutement / RH", "Education / Formation", "Forces de l'ordre / Justice", "Sante / Dispositif medical", "IA a usage general (GPAI)", "Chatbot / Assistant virtuel", "Recommandation de contenu", "Autre / Usage general" ], "contexts": [ "Secteur public", "Secteur prive - Services essentiels", "Secteur prive - Grand public", "Secteur prive - B2B", "Recherche / Experimentation", "Usage personnel" ], "risk_levels": { "unacceptable": "RISQUE INACCEPTABLE (INTERDIT)", "high": "RISQUE ELEVE", "limited": "RISQUE LIMITE", "minimal": "RISQUE MINIMAL" }, "result_title": "Resultat de la Classification", "obligations": "Obligations applicables", "documentation": "Documentation requise", "timeline_label": "Delai de mise en conformite", "penalties": "Sanctions potentielles", "next_steps": "Prochaines etapes recommandees", "obligations_data": { "unacceptable": [ "Arret immediat du systeme", "Retrait du marche de l'UE", "Notification aux autorites competentes", "Suppression des donnees associees" ], "high": [ "Systeme de gestion des risques (Article 9)", "Gouvernance des donnees (Article 10)", "Documentation technique (Article 11)", "Journalisation (Article 12)", "Transparence et information (Article 13)", "Controle humain (Article 14)", "Precision, robustesse et cybersecurite (Article 15)", "Evaluation de la conformite", "Enregistrement dans la base de donnees de l'UE", "Declaration de conformite UE" ], "limited": [ "Obligations de transparence (Article 50)", "Informer les utilisateurs de l'interaction avec une IA", "Etiquetage du contenu genere par l'IA", "Marquage des deepfakes" ], "minimal": [ "Codes de conduite volontaires", "Bonnes pratiques recommandees", "Pas d'obligations legales contraignantes" ] }, "doc_data": { "unacceptable": ["Aucune documentation - systeme interdit"], "high": [ "Description generale du systeme", "Description des elements et du processus de developpement", "Informations sur la surveillance, le fonctionnement et le controle", "Description de la precision, de la robustesse et de la cybersecurite", "Description du systeme de gestion des risques", "Description des mesures de gouvernance des donnees", "Journaux automatiques (logs)", "Declaration de conformite UE", "Instructions d'utilisation" ], "limited": [ "Notice de transparence", "Identification du systeme IA", "Description du contenu genere" ], "minimal": ["Pas de documentation obligatoire"] }, "timeline_data": { "unacceptable": "Applicable depuis le 2 fevrier 2025", "high": "Applicable a partir du 2 aout 2026 (Annexe III) ou du 2 aout 2027 (Annexe I)", "limited": "Applicable a partir du 2 aout 2026", "minimal": "Pas de delai obligatoire" }, "penalty_data": { "unacceptable": "Jusqu'a 35 millions EUR ou 7% du CA mondial annuel", "high": "Jusqu'a 15 millions EUR ou 3% du CA mondial annuel", "limited": "Jusqu'a 7,5 millions EUR ou 1,5% du CA mondial annuel", "minimal": "Pas de sanctions specifiques" }, "next_steps_data": { "unacceptable": [ "Cesser immediatement l'exploitation du systeme", "Consulter un avocat specialise en droit numerique", "Contacter AYI-NEDJIMI Consultants pour un audit", "Evaluer les alternatives conformes" ], "high": [ "Realiser une evaluation de la conformite", "Mettre en place un systeme de gestion des risques", "Preparer la documentation technique", "Former les equipes aux obligations du reglement", "Contacter AYI-NEDJIMI Consultants pour un accompagnement" ], "limited": [ "Mettre en place les obligations de transparence", "Informer les utilisateurs de l'interaction avec une IA", "Verifier les exigences d'etiquetage", "Consulter les guides de bonnes pratiques" ], "minimal": [ "Adopter volontairement les codes de conduite", "Surveiller les evolutions reglementaires", "Considerer les bonnes pratiques du secteur" ] }, "checklist_title": "Checklist de Conformite - Systemes IA a Haut Risque", "checklist_progress": "Progression de la conformite", "checklist_items": { "risk_mgmt": { "title": "Gestion des risques (Article 9)", "items": [ "Systeme de gestion des risques etabli et documente", "Identification et analyse des risques connus et previsibles", "Estimation et evaluation des risques", "Mesures de gestion des risques adoptees", "Tests pour identifier les mesures les plus appropriees", "Risques residuels juges acceptables" ] }, "data_gov": { "title": "Gouvernance des donnees (Article 10)", "items": [ "Pratiques de gouvernance des donnees documentees", "Jeux de donnees pertinents, representatifs et sans erreurs", "Proprietes statistiques appropriees", "Prise en compte des biais potentiels", "Detection des lacunes et insuffisances dans les donnees", "Conformite au RGPD assuree" ] }, "tech_doc": { "title": "Documentation technique (Article 11)", "items": [ "Description generale du systeme IA", "Elements et processus de developpement decrits", "Informations de surveillance et controle", "Description precision et robustesse", "Tenue a jour avant mise sur le marche" ] }, "logging": { "title": "Journalisation (Article 12)", "items": [ "Capacites de journalisation automatique", "Tracabilite du fonctionnement assuree", "Journaux conserves pour une duree appropriee", "Conformite aux obligations de surveillance" ] }, "transparency": { "title": "Transparence (Article 13)", "items": [ "Fonctionnement suffisamment transparent", "Instructions d'utilisation fournies", "Identite et coordonnees du fournisseur", "Caracteristiques, capacites et limites documentees", "Mesures de controle humain decrites" ] }, "human": { "title": "Controle humain (Article 14)", "items": [ "Mesures de controle humain integrees", "Interface permettant la surveillance effective", "Possibilite d'intervention ou d'interruption", "Utilisateur capable d'interpreter les resultats", "Possibilite de ne pas utiliser le systeme" ] }, "accuracy": { "title": "Precision et robustesse (Article 15)", "items": [ "Niveaux de precision documentes", "Resultats reproductibles et coherents", "Resilience aux erreurs et incoherences", "Robustesse face aux tentatives de manipulation", "Mesures de cybersecurite appropriees", "Plans de redondance et sauvegarde" ] } }, "prohibited_title": "Pratiques d'IA Interdites (Article 5)", "prohibited_list": [ { "title": "1. Techniques subliminales / manipulatrices", "desc": "Systemes d'IA utilisant des techniques subliminales, manipulatrices ou trompeuses pour influencer le comportement de manieres qui causent ou risquent de causer un prejudice significatif.", "exceptions": "Aucune exception" }, { "title": "2. Exploitation des vulnerabilites", "desc": "Systemes d'IA exploitant les vulnerabilites liees a l'age, au handicap ou a la situation sociale ou economique pour influencer le comportement de maniere prejudiciable.", "exceptions": "Aucune exception" }, { "title": "3. Scoring social par les autorites publiques", "desc": "Systemes d'IA utilises par les autorites publiques pour evaluer ou classer les personnes physiques sur la base de leur comportement social ou de caracteristiques personnelles, entrainant un traitement prejudiciable ou disproportionne.", "exceptions": "Aucune exception" }, { "title": "4. Evaluation du risque d'infraction individuel", "desc": "Systemes d'IA pour evaluer le risque qu'une personne physique commette une infraction, bases uniquement sur le profilage ou les traits de personnalite.", "exceptions": "Autorise s'il soutient une evaluation humaine basee sur des faits objectifs et verifiables" }, { "title": "5. Reconnaissance faciale non ciblee (scraping)", "desc": "Systemes d'IA creant ou alimentant des bases de donnees de reconnaissance faciale par la collecte non ciblee d'images a partir d'internet ou de la videosurveillance.", "exceptions": "Aucune exception" }, { "title": "6. Reconnaissance des emotions au travail et dans l'education", "desc": "Systemes d'IA inferant les emotions des personnes physiques sur le lieu de travail et dans les etablissements d'enseignement.", "exceptions": "Autorise pour des raisons medicales ou de securite" }, { "title": "7. Categorisation biometrique (donnees sensibles)", "desc": "Systemes d'IA categorisant les personnes physiques sur la base de donnees biometriques pour deduire leur race, opinions politiques, appartenance syndicale, convictions religieuses, vie sexuelle ou orientation sexuelle.", "exceptions": "Etiquetage de jeux de donnees biometriques legalement acquis dans le domaine repressif" }, { "title": "8. Identification biometrique a distance en temps reel", "desc": "Utilisation de systemes d'identification biometrique a distance en temps reel dans les espaces accessibles au public par les forces de l'ordre.", "exceptions": "Autorise sous conditions strictes : recherche de victimes, menaces terroristes, localisation de suspects (crimes graves)" } ], "timeline_title": "Calendrier de Mise en Application de l'AI Act", "timeline_events": [ {"date": "1er aout 2024", "event": "Entree en vigueur de l'AI Act", "detail": "Publication au Journal Officiel de l'UE. Debut du calendrier de mise en application progressive."}, {"date": "2 fevrier 2025", "event": "Pratiques interdites applicables", "detail": "Les 8 pratiques d'IA interdites (Article 5) deviennent applicables. Les amendes peuvent atteindre 35M EUR ou 7% du CA."}, {"date": "2 aout 2025", "event": "Regles GPAI applicables", "detail": "Les obligations pour les modeles d'IA a usage general (GPAI) entrent en application. Obligations de transparence et gestion des risques."}, {"date": "2 aout 2026", "event": "Regles haut risque (Annexe III)", "detail": "La majorite des obligations pour les systemes IA a haut risque s'appliquent. Evaluation de conformite, documentation technique, etc."}, {"date": "2 aout 2027", "event": "Regles haut risque (Annexe I)", "detail": "Les systemes IA a haut risque integres dans les produits (Annexe I) doivent etre conformes. Derniere echeance majeure."} ], "resources_title": "Ressources et Articles", "resources_list": [ { "title": "AI Act 2026 : Guide Complet de Conformite IA", "url": "https://ayinedjimi-consultants.fr/articles/conformite/ai-act-2026-conformite-ia.html", "desc": "Guide complet sur le reglement europeen sur l'intelligence artificielle. Comprendre les obligations, les risques et les etapes de mise en conformite." }, { "title": "AYI-NEDJIMI Consultants - Cybersecurite et Conformite", "url": "https://ayinedjimi-consultants.fr", "desc": "Cabinet de conseil specialise en cybersecurite, conformite reglementaire et protection des donnees." }, { "title": "Collection HuggingFace - Datasets Cybersecurite", "url": "https://huggingface.co/collections/AYI-NEDJIMI/cybersecurity-datasets-and-tools-by-ayi-nedjimi-698e4b5777848dba76c8b169", "desc": "Ensemble de jeux de donnees et outils de cybersecurite developpes par AYI-NEDJIMI Consultants." }, { "title": "Texte officiel du Reglement AI Act", "url": "https://eur-lex.europa.eu/legal-content/FR/TXT/?uri=CELEX:32024R1689", "desc": "Texte integral du Reglement (UE) 2024/1689 du Parlement europeen et du Conseil." } ], "level_explorer": { "unacceptable": { "color": "#dc2626", "emoji": "🚫", "desc": "Systemes d'IA qui representent une menace claire pour la securite, les moyens de subsistance ou les droits des personnes. Ces systemes sont INTERDITS dans l'UE.", "examples": [ "Scoring social par les autorites publiques", "Manipulation subliminale causant un prejudice", "Exploitation des vulnerabilites (age, handicap)", "Identification biometrique a distance en temps reel (sauf exceptions)", "Reconnaissance des emotions au travail/education", "Categorisation biometrique basee sur des donnees sensibles", "Scraping facial non cible", "Profilage criminel predictif base sur la personnalite" ], "penalty": "35 millions EUR ou 7% du CA mondial annuel" }, "high": { "color": "#ea580c", "emoji": "⚠️", "desc": "Systemes d'IA qui peuvent avoir un impact significatif sur la sante, la securite ou les droits fondamentaux. Soumis a des obligations strictes.", "examples": [ "Identification biometrique et categorisation", "Gestion d'infrastructures critiques (eau, gaz, electricite)", "Education et formation professionnelle", "Emploi, gestion des travailleurs, acces au travail", "Acces aux services essentiels (credit, assurance)", "Application de la loi", "Gestion des migrations, asile, controle aux frontieres", "Administration de la justice et processus democratiques" ], "penalty": "15 millions EUR ou 3% du CA mondial annuel" }, "limited": { "color": "#ca8a04", "emoji": "ℹ️", "desc": "Systemes d'IA qui interagissent avec des humains ou generent du contenu. Soumis principalement a des obligations de transparence.", "examples": [ "Chatbots et assistants virtuels", "Systemes de generation de texte / images / audio", "Deepfakes et contenu synthetique", "Systemes de reconnaissance des emotions (hors interdictions)", "Systemes de categorisation biometrique (hors interdictions)" ], "penalty": "7,5 millions EUR ou 1,5% du CA mondial annuel" }, "minimal": { "color": "#16a34a", "emoji": "✅", "desc": "Systemes d'IA qui ne posent pas de risque significatif. Aucune obligation specifique, mais des codes de conduite volontaires sont encourages.", "examples": [ "Filtres anti-spam", "Jeux video avec IA", "Systemes de recommandation de contenu", "Systemes de gestion des stocks", "IA dans les applications de divertissement", "Correcteurs orthographiques" ], "penalty": "Pas de sanctions specifiques" } } }, "en": { "title": "Risk Classifier - EU AI Act", "subtitle": "Interactive risk classification tool under the European AI Regulation (EU AI Act)", "tab1": "Risk Classifier", "tab2": "Risk Levels", "tab3": "Prohibited Practices", "tab4": "Compliance Checklist", "tab5": "Timeline", "tab6": "Resources", "classify_btn": "Classify AI System", "clear_btn": "Reset", "q_function": "What is the primary function of the AI system?", "q_public": "Is it used by public authorities?", "q_interact": "Does it interact directly with humans?", "q_deepfake": "Does it generate deepfakes or synthetic content?", "q_critical": "Is it used for critical infrastructure?", "q_decisions": "Does it make decisions affecting natural persons?", "q_gpai": "Is it a General Purpose AI (GPAI) model?", "q_context": "What is the deployment context?", "q_emotion": "Does it perform emotion recognition?", "q_biometric_cat": "Does it use biometric categorization?", "q_subliminal": "Does it use subliminal or manipulative techniques?", "q_social_scoring": "Does it perform social scoring?", "yes": "Yes", "no": "No", "functions": [ "Biometric identification", "Social scoring", "Recruitment / HR", "Education / Training", "Law enforcement / Justice", "Healthcare / Medical device", "General Purpose AI (GPAI)", "Chatbot / Virtual assistant", "Content recommendation", "Other / General use" ], "contexts": [ "Public sector", "Private sector - Essential services", "Private sector - Consumer-facing", "Private sector - B2B", "Research / Experimentation", "Personal use" ], "risk_levels": { "unacceptable": "UNACCEPTABLE RISK (BANNED)", "high": "HIGH RISK", "limited": "LIMITED RISK", "minimal": "MINIMAL RISK" }, "result_title": "Classification Result", "obligations": "Applicable obligations", "documentation": "Required documentation", "timeline_label": "Compliance deadline", "penalties": "Potential penalties", "next_steps": "Recommended next steps", "obligations_data": { "unacceptable": [ "Immediate cessation of the system", "Withdrawal from the EU market", "Notification to competent authorities", "Deletion of associated data" ], "high": [ "Risk management system (Article 9)", "Data governance (Article 10)", "Technical documentation (Article 11)", "Logging (Article 12)", "Transparency and information (Article 13)", "Human oversight (Article 14)", "Accuracy, robustness & cybersecurity (Article 15)", "Conformity assessment", "Registration in the EU database", "EU declaration of conformity" ], "limited": [ "Transparency obligations (Article 50)", "Inform users of AI interaction", "Label AI-generated content", "Mark deepfakes" ], "minimal": [ "Voluntary codes of conduct", "Recommended best practices", "No binding legal obligations" ] }, "doc_data": { "unacceptable": ["No documentation - system is banned"], "high": [ "General description of the AI system", "Description of elements and development process", "Information on monitoring, functioning, and control", "Description of accuracy, robustness, and cybersecurity", "Description of the risk management system", "Description of data governance measures", "Automatic logs", "EU declaration of conformity", "Instructions for use" ], "limited": [ "Transparency notice", "AI system identification", "Description of generated content" ], "minimal": ["No mandatory documentation"] }, "timeline_data": { "unacceptable": "Applicable since February 2, 2025", "high": "Applicable from August 2, 2026 (Annex III) or August 2, 2027 (Annex I)", "limited": "Applicable from August 2, 2026", "minimal": "No mandatory deadline" }, "penalty_data": { "unacceptable": "Up to EUR 35 million or 7% of global annual turnover", "high": "Up to EUR 15 million or 3% of global annual turnover", "limited": "Up to EUR 7.5 million or 1.5% of global annual turnover", "minimal": "No specific penalties" }, "next_steps_data": { "unacceptable": [ "Immediately cease operating the system", "Consult a digital law specialist", "Contact AYI-NEDJIMI Consultants for an audit", "Evaluate compliant alternatives" ], "high": [ "Conduct a conformity assessment", "Implement a risk management system", "Prepare technical documentation", "Train teams on regulatory obligations", "Contact AYI-NEDJIMI Consultants for support" ], "limited": [ "Implement transparency obligations", "Inform users of AI interaction", "Verify labeling requirements", "Consult best practice guides" ], "minimal": [ "Voluntarily adopt codes of conduct", "Monitor regulatory developments", "Consider industry best practices" ] }, "checklist_title": "Compliance Checklist - High-Risk AI Systems", "checklist_progress": "Compliance progress", "checklist_items": { "risk_mgmt": { "title": "Risk Management (Article 9)", "items": [ "Risk management system established and documented", "Known and foreseeable risks identified and analyzed", "Risk estimation and evaluation performed", "Risk management measures adopted", "Tests to identify the most appropriate measures", "Residual risks deemed acceptable" ] }, "data_gov": { "title": "Data Governance (Article 10)", "items": [ "Data governance practices documented", "Relevant, representative, and error-free datasets", "Appropriate statistical properties", "Potential biases considered", "Gaps and shortcomings in data detected", "GDPR compliance ensured" ] }, "tech_doc": { "title": "Technical Documentation (Article 11)", "items": [ "General description of the AI system", "Elements and development process described", "Monitoring and control information", "Accuracy and robustness described", "Kept up to date before market placement" ] }, "logging": { "title": "Logging (Article 12)", "items": [ "Automatic logging capabilities", "Traceability of operation ensured", "Logs retained for an appropriate period", "Compliance with monitoring obligations" ] }, "transparency": { "title": "Transparency (Article 13)", "items": [ "Sufficiently transparent operation", "Instructions for use provided", "Provider identity and contact details", "Characteristics, capabilities, and limitations documented", "Human oversight measures described" ] }, "human": { "title": "Human Oversight (Article 14)", "items": [ "Human oversight measures integrated", "Interface enabling effective monitoring", "Ability to intervene or interrupt", "User able to interpret results", "Ability to decide not to use the system" ] }, "accuracy": { "title": "Accuracy & Robustness (Article 15)", "items": [ "Accuracy levels documented", "Reproducible and consistent results", "Resilience to errors and inconsistencies", "Robustness against manipulation attempts", "Appropriate cybersecurity measures", "Redundancy and backup plans" ] } }, "prohibited_title": "Prohibited AI Practices (Article 5)", "prohibited_list": [ { "title": "1. Subliminal / manipulative techniques", "desc": "AI systems using subliminal, manipulative, or deceptive techniques to distort behavior in ways that cause or are likely to cause significant harm.", "exceptions": "No exceptions" }, { "title": "2. Exploitation of vulnerabilities", "desc": "AI systems exploiting vulnerabilities related to age, disability, or social or economic situation to distort behavior in a harmful way.", "exceptions": "No exceptions" }, { "title": "3. Social scoring by public authorities", "desc": "AI systems used by public authorities to evaluate or classify natural persons based on social behavior or personal characteristics, leading to detrimental or disproportionate treatment.", "exceptions": "No exceptions" }, { "title": "4. Individual criminal risk assessment", "desc": "AI systems to assess the risk that a natural person will commit a criminal offence, based solely on profiling or personality traits.", "exceptions": "Allowed if supporting human assessment based on objective, verifiable facts" }, { "title": "5. Untargeted facial recognition (scraping)", "desc": "AI systems creating or expanding facial recognition databases through untargeted scraping of facial images from the internet or CCTV.", "exceptions": "No exceptions" }, { "title": "6. Emotion recognition at work and in education", "desc": "AI systems inferring emotions of natural persons in the workplace and in educational institutions.", "exceptions": "Allowed for medical or safety reasons" }, { "title": "7. Biometric categorization (sensitive data)", "desc": "AI systems categorizing natural persons based on biometric data to infer race, political opinions, trade union membership, religious beliefs, sex life or sexual orientation.", "exceptions": "Labeling of lawfully acquired biometric datasets in law enforcement" }, { "title": "8. Real-time remote biometric identification", "desc": "Use of real-time remote biometric identification systems in publicly accessible spaces by law enforcement.", "exceptions": "Allowed under strict conditions: searching for victims, terrorist threats, locating suspects (serious crimes)" } ], "timeline_title": "AI Act Implementation Timeline", "timeline_events": [ {"date": "August 1, 2024", "event": "AI Act enters into force", "detail": "Published in the Official Journal of the EU. Start of the phased implementation timeline."}, {"date": "February 2, 2025", "event": "Prohibited practices apply", "detail": "The 8 prohibited AI practices (Article 5) become applicable. Fines can reach EUR 35M or 7% of turnover."}, {"date": "August 2, 2025", "event": "GPAI rules apply", "detail": "Obligations for General Purpose AI (GPAI) models enter into application. Transparency and risk management obligations."}, {"date": "August 2, 2026", "event": "High-risk rules (Annex III)", "detail": "Most obligations for high-risk AI systems apply. Conformity assessment, technical documentation, etc."}, {"date": "August 2, 2027", "event": "High-risk rules (Annex I)", "detail": "High-risk AI systems embedded in products (Annex I) must be compliant. Last major deadline."} ], "resources_title": "Resources and Articles", "resources_list": [ { "title": "AI Act 2026: Complete IA Compliance Guide", "url": "https://ayinedjimi-consultants.fr/articles/conformite/ai-act-2026-conformite-ia.html", "desc": "Complete guide on the European AI regulation. Understanding obligations, risks, and compliance steps." }, { "title": "AYI-NEDJIMI Consultants - Cybersecurity & Compliance", "url": "https://ayinedjimi-consultants.fr", "desc": "Consulting firm specializing in cybersecurity, regulatory compliance, and data protection." }, { "title": "HuggingFace Collection - Cybersecurity Datasets", "url": "https://huggingface.co/collections/AYI-NEDJIMI/cybersecurity-datasets-and-tools-by-ayi-nedjimi-698e4b5777848dba76c8b169", "desc": "Cybersecurity datasets and tools developed by AYI-NEDJIMI Consultants." }, { "title": "Official AI Act Regulation Text", "url": "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32024R1689", "desc": "Full text of Regulation (EU) 2024/1689 of the European Parliament and of the Council." } ], "level_explorer": { "unacceptable": { "color": "#dc2626", "emoji": "🚫", "desc": "AI systems that pose a clear threat to safety, livelihoods, or rights of people. These systems are BANNED in the EU.", "examples": [ "Social scoring by public authorities", "Subliminal manipulation causing harm", "Exploitation of vulnerabilities (age, disability)", "Real-time remote biometric identification (except exceptions)", "Emotion recognition at work/education", "Biometric categorization based on sensitive data", "Untargeted facial scraping", "Predictive criminal profiling based on personality" ], "penalty": "EUR 35 million or 7% of global annual turnover" }, "high": { "color": "#ea580c", "emoji": "⚠️", "desc": "AI systems that can significantly impact health, safety, or fundamental rights. Subject to strict obligations.", "examples": [ "Biometric identification and categorization", "Critical infrastructure management (water, gas, electricity)", "Education and vocational training", "Employment, worker management, access to work", "Access to essential services (credit, insurance)", "Law enforcement", "Migration management, asylum, border control", "Administration of justice and democratic processes" ], "penalty": "EUR 15 million or 3% of global annual turnover" }, "limited": { "color": "#ca8a04", "emoji": "ℹ️", "desc": "AI systems that interact with humans or generate content. Primarily subject to transparency obligations.", "examples": [ "Chatbots and virtual assistants", "Text / image / audio generation systems", "Deepfakes and synthetic content", "Emotion recognition systems (outside prohibitions)", "Biometric categorization systems (outside prohibitions)" ], "penalty": "EUR 7.5 million or 1.5% of global annual turnover" }, "minimal": { "color": "#16a34a", "emoji": "✅", "desc": "AI systems that pose no significant risk. No specific obligations, but voluntary codes of conduct are encouraged.", "examples": [ "Spam filters", "AI-powered video games", "Content recommendation systems", "Inventory management systems", "AI in entertainment applications", "Spell checkers" ], "penalty": "No specific penalties" } } } } # --------------------------------------------------------------------------- # Classification Logic # --------------------------------------------------------------------------- def classify_system(function_idx, public, interact, deepfake, critical, decisions, gpai, context_idx, emotion, biometric_cat, subliminal, social_scoring, lang): """Determine risk level based on questionnaire answers.""" t = TEXTS[lang] yes = t["yes"] # --- Unacceptable risk checks --- if subliminal == yes: return "unacceptable" if social_scoring == yes and public == yes: return "unacceptable" # Biometric identification by law enforcement in real-time public spaces if function_idx == 0 and public == yes: return "unacceptable" if emotion == yes and (context_idx in [0, 1]): return "unacceptable" if biometric_cat == yes: return "unacceptable" if social_scoring == yes: return "unacceptable" # --- High risk checks --- # Function-based if function_idx in [0, 1, 2, 3, 4, 5]: return "high" # Critical infrastructure if critical == yes: return "high" # Decisions affecting persons in public / essential contexts if decisions == yes and context_idx in [0, 1]: return "high" # Law enforcement context if public == yes and decisions == yes: return "high" # --- Limited risk checks --- if interact == yes: return "limited" if deepfake == yes: return "limited" if gpai == yes: return "limited" if emotion == yes: return "limited" if function_idx == 7: # Chatbot return "limited" # --- Minimal risk --- return "minimal" def build_result_html(risk_level, lang): """Build the HTML result block for the classification.""" t = TEXTS[lang] colors = { "unacceptable": "#dc2626", "high": "#ea580c", "limited": "#ca8a04", "minimal": "#16a34a" } bg_colors = { "unacceptable": "#fef2f2", "high": "#fff7ed", "limited": "#fefce8", "minimal": "#f0fdf4" } color = colors[risk_level] bg = bg_colors[risk_level] level_name = t["risk_levels"][risk_level] obligations = t["obligations_data"][risk_level] docs = t["doc_data"][risk_level] timeline_info = t["timeline_data"][risk_level] penalty = t["penalty_data"][risk_level] steps = t["next_steps_data"][risk_level] obl_html = "".join(f"
{timeline_info}
{penalty}
{info["desc"]}
Sanctions / Penalties: {info["penalty"]}
{practice["desc"]}
Exceptions: {practice["exceptions"]}
{r["desc"]}
{ev["detail"]}
{s}
' for s in per_section)}{TEXTS["fr"]["subtitle"]}
""" ) with gr.Row(): lang_btn = gr.Radio( choices=["FR", "EN"], value="FR", label="Langue / Language", interactive=True ) # ===================================================================== # TAB 1 - Risk Classifier # ===================================================================== with gr.Tab(TEXTS["fr"]["tab1"]) as tab1: with gr.Row(): with gr.Column(): q_function = gr.Dropdown( choices=TEXTS["fr"]["functions"], label=TEXTS["fr"]["q_function"], value=TEXTS["fr"]["functions"][9], interactive=True ) q_context = gr.Dropdown( choices=TEXTS["fr"]["contexts"], label=TEXTS["fr"]["q_context"], value=TEXTS["fr"]["contexts"][3], interactive=True ) q_public = gr.Radio( choices=["Oui", "Non"], value="Non", label=TEXTS["fr"]["q_public"], interactive=True ) q_interact = gr.Radio( choices=["Oui", "Non"], value="Non", label=TEXTS["fr"]["q_interact"], interactive=True ) q_deepfake = gr.Radio( choices=["Oui", "Non"], value="Non", label=TEXTS["fr"]["q_deepfake"], interactive=True ) q_critical = gr.Radio( choices=["Oui", "Non"], value="Non", label=TEXTS["fr"]["q_critical"], interactive=True ) with gr.Column(): q_decisions = gr.Radio( choices=["Oui", "Non"], value="Non", label=TEXTS["fr"]["q_decisions"], interactive=True ) q_gpai = gr.Radio( choices=["Oui", "Non"], value="Non", label=TEXTS["fr"]["q_gpai"], interactive=True ) q_emotion = gr.Radio( choices=["Oui", "Non"], value="Non", label=TEXTS["fr"]["q_emotion"], interactive=True ) q_biometric_cat = gr.Radio( choices=["Oui", "Non"], value="Non", label=TEXTS["fr"]["q_biometric_cat"], interactive=True ) q_subliminal = gr.Radio( choices=["Oui", "Non"], value="Non", label=TEXTS["fr"]["q_subliminal"], interactive=True ) q_social_scoring = gr.Radio( choices=["Oui", "Non"], value="Non", label=TEXTS["fr"]["q_social_scoring"], interactive=True ) with gr.Row(): classify_btn = gr.Button( TEXTS["fr"]["classify_btn"], variant="primary" ) clear_btn = gr.Button(TEXTS["fr"]["clear_btn"], variant="secondary") result_html = gr.HTML("") # ===================================================================== # TAB 2 - Risk Level Explorer # ===================================================================== with gr.Tab(TEXTS["fr"]["tab2"]) as tab2: explorer_html = gr.HTML(build_risk_explorer_html("fr")) # ===================================================================== # TAB 3 - Prohibited Practices # ===================================================================== with gr.Tab(TEXTS["fr"]["tab3"]) as tab3: prohibited_html = gr.HTML(build_prohibited_html("fr")) # ===================================================================== # TAB 4 - Compliance Checklist # ===================================================================== with gr.Tab(TEXTS["fr"]["tab4"]) as tab4: gr.HTML(f"""{t["subtitle"]}
""" ) return [ title_block, build_risk_explorer_html(lang), build_prohibited_html(lang), build_timeline_plotly(lang), build_timeline_details_html(lang), build_resources_html(lang), ] lang_btn.change( fn=on_lang_change, inputs=[lang_btn], outputs=[ title_html, explorer_html, prohibited_html, timeline_plot, timeline_details, resources_html_block, ] ) return demo # --------------------------------------------------------------------------- # Launch # --------------------------------------------------------------------------- if __name__ == "__main__": app = create_app() app.launch()