Privacy Policy
Which data PyPlaca uses, what for, for how long, and how you can ask for access, correction or deletion, under the Brazilian General Data Protection Law (LGPD).
Last updated:
Courtesy translation. The legally binding version of this page is the Portuguese one (pyplaca.com.br). If the two differ, the Portuguese version prevails.
Summary
- You can use the IDE, the simulator, the tracks and the articles without an account: your code stays only in your browser.
- With an account, we store your name, e-mail and a secure digest of your password (never the password). Your progress (completed items and XP) follows the account; your project files only go to the cloud if you allow it.
- We do not sell data. We use Google Analytics (visit statistics) and Google AdSense (ads), which only set cookies if you accept in the cookie notice. You can change your choice whenever you want (Cookies link in the footer).
- You can ask for access, correction, a copy or deletion of your data by e-mail: rfaustino007@gmail.com.
Who looks after your data
The controller of the personal data processed in PyPlaca (pyplaca.com) is FAUSTINOPSY, a brand of Prof. Rodrigo dos Santos Faustino. The channel for any matter about your data, including the data protection officer role provided for in art. 41 of the LGPD, is the e-mail rfaustino007@gmail.com.
Using it without an account
Without an account, nothing you write goes to our server. It is stored in your own browser, on this device:
- your projects (code, circuit and the pause point of a run, to "continue where you left off"), the version history of the files and your progress in the tracks, in a local browser database (IndexedDB);
- preferences such as light/dark theme, divider sizes, open tab, simulation speed, sound and what you typed in the simulated Wi-Fi and MQTT panels, and a backup copy of the code that is open (local storage, keys that start with
esp32lab:); - the site's own files, so it opens without internet (Service Worker).
We have no access to this data. You erase everything by clearing the site data in your browser settings. On a shared computer (lab), remember that the next person using the same browser user sees what was left saved.
The simulator runs in your browser. One exception: in the Wi-Fi simulation, if your program asks for data from a service on the platform's allowed list (today, the Open-Meteo weather forecast, api.open-meteo.com), your browser really makes that request to that service, which receives your IP address, as with any access to a website.
With an account
The account is optional and is used to store your work in the cloud, get the official grading of challenges and join classes. When you create the account, we process:
- Name and e-mail, which you provide, and the account creation date;
- Password: we only store a cryptographic digest (bcrypt), from which the password cannot be recovered; not even we know it;
- Role (student or teacher) and the accumulated XP.
Progress: follows the account. With the account open, your progress in the tracks (completed items, attempts, best result, XP and dates) is stored on the server and comes back in any browser where you sign in. It is a few bytes and is what enables the official grading, XP and classes; it does not depend on the cloud.
Project cloud, only with your consent. The project files (title, code and circuit) use storage on the server, so they are only sent if you turn the cloud on in the Cloud tab of the Profile. Before turning it on, we show a notice and you confirm that you read it. Projects are kept as plain text, without encryption: they are not public, but the team that maintains the site has technical access to the database — so do not write personal data or passwords in them. In the same tab you can see, download and delete each stored project; when you turn it off, you choose between keeping what was already sent or deleting everything. The choice to turn it on applies to this browser. Lessons and challenges are not sent to the cloud as a project: they stay only in the browser (their result, the progress, follows the account). To take your files to another computer without using the server, the same tab has the backup copy, a file you download and restore wherever you want.
Official grading of challenges. With an account, when you ask for the official grading of a challenge, the code and the circuit go to the server, which tests them (including with hidden cases) and stores the submission: code, circuit, result, grade and date. This is what adds the official XP and what the teacher of your class sees.
Classes
A teacher creates a class and shares a code; the student joins with that code in the Profile. When you join a class, its teacher can see, for each student: name, XP, date of the last activity, the progress on each assigned activity (done, tried, number of attempts and best result) and, in the class challenges, the code of the last submission with the grade. The teacher does not see your e-mail or your password. The student sees the teacher's name and the activities. The school or teacher who uses classes is responsible for how they use this information in the context of their lessons.
Technical logs and security
- PyPlaca does not record, on its own server, a log of each page visited: visit statistics stay with Google Analytics (see Statistics and advertising). When an unexpected error happens on the server, the error is logged so it can be fixed (without passwords).
- To stop people from trying to guess passwords, the server counts sign-in or account creation attempts per IP address for 15 minutes, in memory only.
- The site's hosting provider may keep access logs (IP address, date, time and page). When the law requires it, these logs are kept for 6 months (Marco Civil da Internet, Law 12,965/2014, art. 15) and are only handed to third parties by court order.
- We use a secure connection (HTTPS), bcrypt password digests, a session cookie that scripts cannot read and a policy that only lets the page load code from the site itself. No system is perfect: if there is a security incident that may put you at risk, we will notify you and the Brazilian National Data Protection Authority (ANPD), as art. 48 of the LGPD requires.
What we use it for and the legal basis
| Use | Data | Legal basis (LGPD, art. 7) |
|---|---|---|
| Create the account, sign in and keep you signed in | name, e-mail, password digest, session cookie | performance of the service you requested (item V) |
| Store progress and XP in the account | completed items, attempts, results, XP | performance of the service you requested (item V) |
| Store project files in the cloud | projects (title, code, circuit) | consent, which you can withdraw (item I) |
| Official grading of challenges and classes | submissions, progress, name | performance of the service you requested (item V) |
| Visit statistics (most read pages, device type, country) | browser identifier (cookie), pages visited, device, approximate location | consent, which you can withdraw (item I) |
| Google ads in articles, in the profile and in components | cookies and advertising identifiers, pages visited | consent, which you can withdraw (item I) |
| Security and abuse prevention | IP (in memory), error and access logs | legitimate interest (item IX) and compliance with a legal obligation (item II) |
| Replying to messages | whatever you write in the e-mail | legitimate interest (item IX) or exercise of rights (item VI) |
Who the data is shared with
We do not sell or rent personal data, and we do not pass it to advertisers. The only third-party services embedded in the pages are Google Analytics and Google AdSense (Google LLC, which may process data outside Brazil; art. 33 of the LGPD), described in Statistics and advertising; there are no social networks, fonts or other outside scripts. The data stays on the server and in the database of the contracted hosting company, which acts as a processor: it stores and processes the data on our behalf, without using it for its own purposes. We may have to hand over data when a law or court order requires it.
Links to other sites. Some pages link to outside sites: the official MicroPython website (to download the board firmware), the sibling project mentioned in About and, in the articles, the house ads (next item). When you open another site, its own privacy policy applies.
Statistics and advertising
Google Analytics (visit statistics). We use Google Analytics 4 to know, in aggregate form, which pages are read, from what type of device and what country visits come from, and so improve the content. If you accept the cookie notice, Google sets cookies in your browser (_ga and _ga_*, for up to 2 years, which is Google's default) with a random identifier. If you decline or do not answer, no cookie is set; Google still receives an anonymous count of the visit (no cookie and no identifier), as with any access to a website. We do not send your name, e-mail, your code or what you type; only the pages visited. People using an automated test browser are not counted.
Google AdSense (ads). The ad slots (in articles, in the profile and in the component catalog) show, in a proportion of 4 to 3, Google ads and our own cards (Amazon recommendations and house ads). The IDE, the simulator and the tracks have no ads. If you accept, Google and its partners may use cookies and identifiers (such as __gads and __gpi) to show personalized ads and measure results; the duration is set by Google. If you decline or do not answer, Google ads appear without personalization and without advertising cookies. To learn how Google uses data from sites that use its services, see policies.google.com/technologies/partner-sites; to control personalization in your Google account, adssettings.google.com.
House ads. These are cards for products by the author himself (FastTeacher and FastMind), made of PyPlaca's own text and colors, with no image, script or cookie from another company; they collect nothing. The link goes to the product's site (outside PyPlaca), in a new tab, with parameters in the address (utm_source=pyplaca, utm_medium=anuncio, utm_campaign with the page the click came from and utm_content with the product) so the site knows the visitor came from PyPlaca and from which page. No personal data goes along.
Amazon affiliate links. Some cards recommend books and equipment sold on Amazon.com.br, chosen by the topic of the page. PyPlaca takes part in the Amazon Associates Program: as an associate, it earns from qualifying purchases made through these links, at no extra cost to you. The card is PyPlaca's own text, with no Amazon image, script or cookie; it collects nothing. When you click, you go to Amazon's site, which has its own privacy policy and may use cookies to record the referral.
Your choice. The notice appears on your first visit. To change your mind at any time: (also in the footer of every page). When you switch to Decline, we delete the Google cookies that are in your browser.
How long we keep it
- Account, progress and submissions: as long as the account exists. Projects in the cloud: until you delete them, turn the cloud off with "delete everything" or they go 6 months without being saved (then they are deleted automatically). When you ask for the account to be deleted, we delete the account and everything that depends on it (projects, progress, submissions, class membership and, if you are a teacher, your classes).
- Session cookie: 30 days, or until you click "Sign out".
- Data in your browser: until you delete it; it does not depend on us.
- Access logs: for the legal period described in Technical logs; sign-in attempts, 15 minutes.
- E-mails exchanged: for as long as they are needed to resolve the matter.
Your rights and how to exercise them
The LGPD (art. 18) guarantees you the right to: confirm whether we process your data; access that data; correct incomplete or wrong data; ask for anonymization, blocking or deletion of unnecessary data or data processed in breach of the law; portability; know who we share it with; be informed about the possibility of not giving consent; withdraw consent (for example, for synchronization); and delete the data processed on the basis of consent.
How to ask: write to rfaustino007@gmail.com from the e-mail registered in the account (that is how we check the request is yours) and say what you want: a copy of the data, correction, account deletion, etc. We reply within 15 days (art. 19 of the LGPD). The copy of the data is sent in an open format (JSON). Remember also that PyPlaca itself exports your projects at any time ("Export .zip" button, in the Real board tab), without you having to ask.
If you think your request was not met, you can complain to the Brazilian National Data Protection Authority (ANPD), at gov.br/anpd.
Children and teenagers
PyPlaca is used in schools and courses. The whole learning part (IDE, simulator, tracks, articles) works without an account, and that is the recommended way for children. Sign-up does not ask for age. Therefore:
- teenagers should use the account with the knowledge of the school or their parents or guardians;
- children (under 12 years old) should only have an account with the specific consent of a parent or legal guardian, as art. 14 of the LGPD requires;
- the teacher or school organizing a class with minors must have the guardians' authorization, according to the institution's own rules.
If you are a guardian and found a child's account created without your consent, write to rfaustino007@gmail.com and the account will be deleted.
Cookies and browser storage
| Name | Type | What for | Duration |
|---|---|---|---|
esp32lab_sessao | first-party cookie, essential | keep you signed in after logging into the account (not readable by scripts, only sent to the site itself) | 30 days or until you sign out |
esp32lab:* | browser local storage | preferences, backup copy of the open code and your choice about synchronization | until you delete it |
esp32-lab database | IndexedDB | projects, file history and progress, to work without an account and without internet | until you delete it |
esp32lab:cookies | browser local storage | remember whether you accepted or declined the statistics and advertising cookies | until you delete it |
_ga, _ga_* | Google Analytics cookie (third party), only if you accept | identify the browser anonymously to count visits | up to 2 years |
__gads, __gpi and similar | Google AdSense cookies (third party), only if you accept | show and measure ads, including personalized ones | set by Google |
esp32lab-* caches | Service Worker | site files to open without internet | until the next site version or until you delete them |
Statistics and advertising cookies are Google's and only exist if you accept; we do not use social network cookies. The session cookie is strictly necessary for the account to work and only exists if you sign in to an account.
Changes to this policy
When PyPlaca changes the way it processes data (for example, by adding a new third-party service), this page will be updated beforehand, with the new date at the top. Important changes will be announced on the site. Questions: rfaustino007@gmail.com.