Chrome Extension
Privacy Policy
ITATS Extension · Last updated: October 13, 2026
Overview
ITATS Extension is a Chrome extension for students of Institut Teknologi Adhi Tama Surabaya (ITATS) who use classroom.itats.ac.id. It fills in attendance, turns photos or documents into PDFs for assignment uploads, and names assignment files automatically.
Some features run entirely in your browser, others go through our server:
- Attendance, Request Mode (default)
- The extension sends an attendance request to our server, and the server fills in attendance on Classroom on your behalf. This mode is on from the moment you install the extension. You can turn it off with the “Gunakan Request” option in the settings.
- Attendance, Manual Mode
- Runs in your browser. The extension opens each unfilled class one at a time (up to 15 classes per run), picks an answer, and clicks the save button, the same steps you would take yourself. This mode sends nothing to our server.
- Foto → PDF (Photo to PDF)
- The extension combines photos or images (JPG, PNG, WebP, GIF, BMP, AVIF, SVG, and other formats your browser can read) into one PDF in your browser and does not send the images to our server. The PDF goes into the assignment upload form, and you press Kirim Tugas yourself.
- Dokumen → PDF (Document to PDF)
- The extension sends the Word, Excel, or PowerPoint file you pick to our server. The server passes it to Adobe PDF Services for conversion, and the extension puts the resulting PDF into the assignment upload form.
- Automatic file renaming
- The extension builds the assignment file name from the parts you choose: the original file name, NPM, name, course, or class. This happens in your browser.
Data processed on your device
- Extension settings
- Default attendance answer, auto-run, notifications, step delay, navbar and button display, Request Mode, the Foto → PDF and Dokumen → PDF buttons, and the file name layout. The extension stores these in chrome.storage.sync. If Chrome sync is on, Google syncs them to your Chrome account.
- NPM and name
- The extension reads your NPM and name from your Classroom profile page to show them in the settings and use them in file names. It keeps a copy in chrome.storage.local and does not send it to our server.
- Classroom page content
- The extension reads the class list, attendance forms, assignment upload forms, and course and class names on classroom.itats.ac.id. It runs only on that domain.
- Images for Foto → PDF
- The extension processes images in browser memory and does not keep them after the PDF is built.
- Temporary attendance status
- The list of classes already processed and the Manual Mode queue in the current tab. The queue holds class names and addresses, the attendance answer, and the result for each class. The extension keeps both in sessionStorage and deletes the queue once the run finishes or stops. All of it is cleared when you close the tab.
Data sent to our server
Our server runs on Supabase. Request Mode, Dokumen → PDF, and the server status check on the settings page use it. The extension handles the following data:
- Anonymous account
- The first time it contacts the server, the extension creates an anonymous Supabase Auth account with no email, name, or password. It stores the access token, refresh token, anonymous user ID, and expiry time in chrome.storage.local.
- Classroom session cookies
- Request Mode and the verification for Dokumen → PDF need access to Classroom on your behalf. For that, the extension reads your classroom.itats.ac.id login cookies (classroom_itats_session, laravel_session, XSRF-TOKEN), encrypts them on your device with RSA-OAEP-256 and AES-256-GCM, and sends them to the server. Only the server can decrypt them. The server uses the cookies in memory while the request runs, and never stores, logs, or sends them back.
- Student identity
- The server reads your NPM and name from your Classroom profile page to confirm that the Classroom session being used belongs to you. It stores your NPM as part of the verification session. The server sends your name back to the extension only and does not store it.
- Attendance request data
- If you start attendance from a class page, the extension sends that page's address (including the class token, if there is one). From any other Classroom page, it sends the address of the Classroom home page. It also sends your attendance answer value (1 to 4). The server returns a per-class result summary to the extension without storing it.
- Documents for Dokumen → PDF
- The contents of the DOC, DOCX, XLS, XLSX, PPT, or PPTX file you pick (up to 15 MB) and its file type. The extension does not send the file name. The server passes the file to Adobe PDF Services, then keeps the resulting PDF until the extension downloads it.
The server stores the following data in Supabase's database and storage:
- Verification session
- Anonymous user ID, NPM, verification time, expiry time (2 hours after verification), and last-active time.
- Duplicate-submission records
- Anonymous user ID and a SHA-256 hash of the user ID, class token, week, and lecture type combined, with its status and processing times.
- Rate-limit records
- One record per request, holding the limit type, a SHA-256 hash of the user ID, IP address, or request ID, and the request time. Our code does not store raw IP addresses.
- Document conversion records
- Anonymous user ID, file type and size, a SHA-256 hash of the IP address, status, page count and size of the resulting PDF, error code, and processing times. The server does not store the document contents in the database.
- Converted PDFs
- PDF files in a private Storage bucket. The server hands each one only to the anonymous account that requested that conversion.
How long the data is kept:
- Verification session
- deleted 7 days after it expires.
- Duplicate-submission records
- completed records are kept for up to 180 days. Records that never completed are deleted after 1 day.
- Rate-limit records
- deleted after 1 day.
- Document conversion records
- deleted after 30 days.
- Converted PDFs
- deleted as soon as the extension downloads them. PDFs that are never downloaded are deleted after 15 minutes.
- Files at Adobe
- the server deletes them from Adobe right after conversion. If that deletion fails, Adobe deletes them on its own after 24 hours.
- Anonymous account
- stays in Supabase Auth until you ask us to delete it.
The server runs this cleanup when it receives requests, not on a fixed schedule. Data can therefore stay longer than the limits above until the next cleanup runs.
How the data is used
We use the data only to:
- run the attendance and document conversions you ask for,
- confirm that the Classroom session being used belongs to you,
- keep the same attendance from being submitted twice, and
- prevent abuse of the service.
We do not sell the data, use it for advertising or profiling, or share it with anyone other than the service providers listed below. The use of information received by this extension adheres to the Chrome Web Store User Data Policy, including the Limited Use requirements.
Data not collected
The extension does not collect passwords, browsing history, location, or contacts, and it does not read data from any site other than classroom.itats.ac.id.
Third-party services
- Supabase
- Provides the server, anonymous authentication, database, and storage for Request Mode, Dokumen → PDF, and the server status check. As an infrastructure provider, Supabase may keep technical logs such as IP addresses. Supabase's own privacy policy covers those logs.
- Adobe PDF Services
- Converts documents to PDF, only when you use Dokumen → PDF. Adobe receives the document contents from our server, not directly from your browser. Adobe's privacy policy covers its processing.
- Google Fonts
- The popup and settings pages load fonts from fonts.googleapis.com and fonts.gstatic.com. When the fonts load, Google receives your IP address and browser information.
- jsDelivr and cdnjs
- The settings page loads the Bootstrap stylesheet from cdn.jsdelivr.net and Font Awesome icons from cdnjs.cloudflare.com. When these files load, those CDN providers receive your IP address and browser information.
- Chrome Sync
- Used for extension settings, only if you have turned it on in Chrome.
Permissions used
- storage
- to save settings, the anonymous account token, and the NPM and name used for file names on your device.
- tabs
- to find or open the Classroom tab when you click the extension icon, and to tell which Classroom tab sent a request to the server.
- cookies
- to read classroom.itats.ac.id login cookies. This permission is used in Request Mode and during verification for Dokumen → PDF.
- Host access to classroom.itats.ac.id
- to run the extension's scripts on Classroom pages.
- Host access to csctwkgmfezyvlfzcinp.supabase.co
- to talk to our server.
Security
- All communication uses HTTPS. The extension also encrypts session cookies on your device before sending them.
- The server rejects requests without a valid anonymous account token. Attendance through the server also needs an active verification session whose NPM matches the Classroom profile.
- The server processes each encrypted request only once (replay protection).
- The server limits the number of requests and conversions per user and per IP address.
Even so, no system is completely free of risk.
Your choices
- Turn off Request Mode in the settings. Attendance then runs in your browser, and the extension stops sending Classroom cookies for attendance.
- Hide the Dokumen → PDF button in the settings if you do not want documents sent to our server.
- Press the reset button on the settings page to clear your extension settings.
- Uninstall the extension to remove all data it stored on your device.
- Log out of Classroom so the session cookies that were used stop working.
- Email us your NPM to ask us to delete your data on the server.
While the settings page is open, the extension checks the server status every 30 seconds, even with Request Mode off. This check uses the anonymous account and sends no cookies or Classroom data.
Changes to this policy
We may update this policy when the extension changes. The date of the latest update is always shown at the top of this page.
Contact
If you have questions about this privacy policy, contact us at support@itats-extension.web.id
© 2026 ITATS Extension. All rights reserved.