CAP: CONTENT AUTHENTICITY PLATFORM This is a multi-page application build using flask where users can submit and manage content for analysis. The main objective is to classify the content as real and ai-generated. Requirements: 1. User registration and Login. User dashboard to view past submission history for logged-in users. 2. 3. Users should be able to upload, text, urls and image files for analysis. Multiple detection models should be used in backend(eg: Transformers for text and image classification deep learning models) 4. User should be able to download a comprehensive report in the form of pdf which includes: a. An overall AI probability score (e.g., 95% likely AI-generated). b. Sentence/Area Highlighting: Visually highlight the specific text sentences or image sections most likely to be AI-generated. 5. 6. 7. Display controversial or highly-flagged content (text and images) from across the web. Allow registered users to vote on whether they think content is Real or AI Generated. Annotation Feature: Let users highlight specific parts of the content and add contextual notes or sources that either prove or disprove its authenticity. 8. Leaderboard: Create a system to reward users with high accuracy scores or those who contribute the most verified annotations with reward points to be reflected on the user dashboard. 9. Another page of the application allows users (content creators) to "watermark" their original content (text/images) with a cryptographic hash or a verifiable digital signature upon creation. This acts as proof of human-origin and creation date. Eg: When a creator finishes writing an article or drawing an image, they submit it to the platform. The app immediately takes a "digital fingerprint" (cryptographic hash) of that content and stamps it with the time and the creator's identity. This fingerprint is stored in the database. Final flow of the application: User opens the app at the main page(Home) with option to upload the content(text and images). The same page has minimum 5 images from across the web which users can vote and annotate to prove whether the shown images are real or ai-generated. If they are correct, 100 reward points are added to their account. The user clicks on the login button on top navigation bar which leads to register/login page where user logins using username and id(login implementation using firebase). Upon successful login/registration, user is redirected to the main page. Another button on navigation bar called ‘Ledger’ leads to another page where users can upload text and images which can be watermarked with cryptographic hash for its proof as human-origin. It should be stored in database.(Firebase) Home button on navigation leads to main page again. The option exists to upload content(text and images). When user uploads the text, the app first checks the content's digital fingerprint against the Ledger database. If it matches a registered original, it's verified. If no match is found, your app's AI model analyzes the content to determine if it shows signs of being generated by an AI. Then it allows the user to download the comprehensive report. Content Watermarking Flow Step Action Component Output 1. Upload User uploads original text to the Flask API endpoint. Frontend Raw text data. ->Flask 2. Flask calculates the Hashing SHA-256 Hash of the text. Flask App (Python hashlib) H (e.g., a3b4c5d...) This is the Digital Fingerprint ($H$). 3. Ledger Write Flask stores the record in Flask ->Firebase A new record is Firebase. The key is the hash itself, or the hash is indexed against a unique registration ID. DB stored: [ID, H, Creator ID, Timestamp]. 4. Return Flask returns a Flask ID Registration ID (or a combination of the hash ->Frontend The unique ID (the "signature" you mentioned). and creator ID) to the user. The key returned to the user is not a traditional digital signature (which involves Public Key Cryptography), but rather a Proof of Prior Registration. The "Signature" is the Verifiable Information needed to check the Ledger: Signature/Proof = Registration ID + Timestamp The real "signature" is the stored hash $H$ itself, because only the original content can re-generate that exact hash. 3. Verification Phase (The Check) If a third-party finds the content and wants to verify its origin: 1. 2. 3. They submit the suspected content to your verification endpoint. Your Flask app runs the exact same hashing function to generate a new hash, $H'$. Your app queries the Firebase DB: "Does $H'$ exist?" ○ If Yes: The content is verified as the original submitted on the specified Timestamp by the Creator ID. The proof is mathematically secure. ○ If No: The content is either new, modified, or AI-generated. This is when the AI assessment model would run to classify if its real-or- ai generated content. Note: 1. 2. Deliverables: flask app with firebase integration for registration/login and ledger database, ai model files if trained, complete implementation code and all other necessary files. A docx. Report with overview of the application, methodology of the implementation, AI implementation pipeline and results. The report should contain flowchart of implementation pipelines, user-flow diagram and images of outputs of application.