Privacy — draft translation
A technical data-processing inventory with outstanding privacy review.
Operator and scope
To complete: legal entity/name, CNPJ, address, privacy channel and actual responsible party. suporte@for-muli-x.com is a placeholder with unverified receipt. This inventory covers this repository’s API and dashboard; hosting, proxies, CDNs and production have not been audited.
Data processed
| Category | Observed processing and purpose |
|---|---|
| Account | SQLite: ID, name, email, salted password hash (scrypt), plan, expiry, administrator flag and creation time. Authentication and management; passwords are not stored in plain text. |
| Domains and keys | Domain, account association and creation; SHA-256 key hash, prefix, creation and revocation. Authorizes calls; the full key is displayed once when created. |
| Usage | UTC month, account, domain and insertion/preview counters. Allowance and usage measurement, not individual formula records. |
| Session and recovery | Session ID and expiry in the database; dashboard formulix_sessao cookie (7 days, HttpOnly, SameSite=Lax; Secure depends on HTTPS/configuration). Single-use recovery token stored as a hash, valid for 30 minutes; reset revokes sessions. |
| Security | IP addresses held in memory limit login, registration and recovery attempts within a 15-minute window; not a persistent SQLite history. HTTP connections also expose network data to infrastructure. |
| Payments | SQLite: payment ID, account, plan, months, amount, status and dates. The dashboard sends payer email, items, price and account/plan/month reference to Mercado Pago and checks status to activate the plan. |
| SMTP receives recipient and recovery message (temporary link/token) or expiry notice (plan/term). SQLite records account, plan, term and sent-notice date. |
Content sent for calculation
The API receives formulas, mathematical/chemical parameters, graph data and, when requested, HTML/RTF from Word paste. This may happen during previews, before confirmation, as well as insertions. Requests include the public key and Origin.
In the reviewed routes, content is processed in memory and is not written to SQLite or files by the calculation routine. Output returns to the browser. Saved content and PNGs stay in the customer’s platform through its save/upload handling.
This does not guarantee that no record exists anywhere: the code logs errors to the console in some failure cases. Exception logs may contain processing details. Proxies, hosting, observability, backups and production logs need separate verification. Do not send student names, complete documents or other unnecessary personal data.
Sharing and third parties
Mercado Pago receives the checkout data described above and processes payments outside Formulix. The local SQLite schema does not store card numbers, CVV or full bank details. SMTP receives data needed to send messages. The operator must identify hosting, email and CDN providers and their locations.
If your platform loads the client or MathJax from an external CDN, the browser requests resources from that provider. This documentation loads no external fonts, analytics or scripts. Whether the final deployment adds trackers has not been checked. International transfers, subprocessors, provider terms and retention periods are unverified.
Purposes and legal bases to review
The proposal to validate is processing account, access, usage and purchase data to perform the contract; legally required records for legal obligations; and security with a basis appropriate to the purpose and people’s rights. The operator must document final legal bases, necessity and retention. Blanket consent to all processing is not assumed.
For school content, define controller/processor roles and school instructions contractually. Children’s data needs specific assessment. The Portuguese source flags Brazil’s LGPD and children’s best interests for review.
Items for local legal review, not claims of compliance: US school/student privacy requirements (including FERPA and COPPA, where applicable); UK GDPR and the Data Protection Act 2018 for UK use; EU GDPR for EU use; and applicable local consumer, payment and international-transfer rules. Scope, roles and duties must be assessed for each deployment. No compliance certification is claimed.
Retention and deletion
Sessions logically expire in 7 days and recovery tokens in 30 minutes. Expired sessions are cleaned when sessions are created; expired recovery records when new recovery requests are created. Expiry does not mean immediate removal of all copies.
No general retention/automatic deletion policy exists for accounts, monthly usage, payments or notices. The reviewed dashboard has no public account export or deletion flow. The backup utility copies the database; schedules, storage and disposal are undefined. Usage has no account deletion cascade: a future deletion flow must explicitly handle history.
Pending: purpose-specific retention, applicable legal obligations, anonymization/disposal and handling of backups/logs, without promising instant deletion.
Individual rights
The final procedure must support confirmation of processing, access, correction, sharing information and other applicable rights. The Portuguese draft flags Article 18 of Brazil’s LGPD, including deletion/anonymization where applicable. Define a working contact, proportionate identity checks, handling and response procedures. The dashboard has no automated rights-request flow. Local rights and deadlines remain for counsel to review.
Security and incidents
The code uses password/key hashes, domain/origin restrictions, request limits and HttpOnly sessions. This is not a security audit or privacy certification. HTTPS, database access, backups, provider controls and incident response must be checked in the deployment.
Before publication
Complete identities and contacts, map providers and locations, set legal bases/retention, define rights procedures and school contracts, and obtain legal review. Publish an approved version before requesting acceptance or presenting this text as a final policy in directories. The Portuguese version prevails over this draft translation.