Privacy Policy

Last updated

This policy describes how the LaTeX Table Generator site handles data as it works today: building tables in the editor, importing files, copying and downloading code, Open in Overleaf, feedback and analytics.

Short version

Who runs the site

LaTeX Table Generator is run by an independent developer, not a company (“I”, “me” in this policy; see About). I decide what the site collects and why, so I am the controller responsible for that data. To contact me about privacy, including any of the requests under “Your rights”, use the Send feedback button on the contact page. There is no public email address.

What is collected at a glance

WhatWhere it is keptWhyHow long
Table cells, settings, caption and labelYour browser: memory and session storageTo build the code and survive a reloadUntil you close the tab
Chosen document class for the fit checkYour browser’s session storageTo keep the proof on the class you pickedUntil you close the tab
Your last paper and style choices (line style, bold header, caption position, shading, centering, escaping, symbol conversion)Your browser’s local storageSo your next visit starts with the choices you usedUntil you clear this site’s data
A copy of your last table (cells, caption, label, notes)Your browser’s local storageSo your next visit can offer it back with one clickReplaced as you work; kept until you clear this site’s data
Files you open in ImportRead in your browser’s memory onlyTo fill the tableDiscarded once read
The LaTeX document, if you press Open in OverleafOverleafTo open it as a project thereOverleaf’s own policy applies
Analytics events (page, feature, outcome, counts, random IDs)My analytics database on SupabaseTo see what people use and what failsReviewed for deletion at least once a year
Your analytics opt-out choiceYour browser’s local storageTo remember that you turned analytics offUntil you clear this site’s data
Feedback message, website domain, page pathMy feedback database on SupabaseTo read and act on your messageUntil dealt with; reviewed at least once a year
IP address for the feedback limitThe feedback service on SupabaseTo limit spamOnly for the rate-limit check
Request logs (IP address, browser, time, page requested)Vercel and SupabaseDelivering pages, security, fixing faultsEach provider’s log retention

The tables you make

The editor, the code generator, the typeset proof and the fit check all run in your browser. When you type in a cell, paste cells from a spreadsheet, paste LaTeX or Markdown, or open a CSV, TSV, TXT, TEX or MD file in Import, the text is read by the page and stays on your device. Opening a file gives the page access to that one file only; it is read once and not kept. The page makes no network request containing your cells, caption, label or file contents.

So that a reload doesn’t wipe your work, the current table and its settings are saved in your browser’s session storage under latex-table-generator:table, and the document class you chose for the fit check under latex-table-generator:class. Session storage belongs to the open tab: it is deleted when you close the tab and is never sent to my server. The example table shown on a first visit is not saved.

So your next visit starts with the same choices, the last document class, line style, bold-header, caption-position, shading, centering, escaping and symbol settings you chose are kept in your browser’s local storage under latex-table-generator:prefs. A copy of your last table is kept there too, under latex-table-generator:last: on your next visit the editor still opens on the example and offers “Restore it”, and nothing is loaded unless you press it. Both stay on this device, are never sent to my server, and are replaced as you work or removed when you clear this site’s data. On a shared computer, clear this site’s data when you are done.

The Copy buttons put text on your clipboard and Download .tex saves a file to your device. None of them sends the code or your table over the network; each records only an analytics event that it happened, as listed under Analytics. The fonts used by the site and the preview (Computer Modern, Source Sans 3, Tinos, Libertinus Serif and the KaTeX math fonts) are bundled into the site and served from my domain, so your browser doesn’t contact Google Fonts or any other font service.

Open in Overleaf

Open in Overleaf uses the form Overleaf publishes for this purpose. When you press the button, your browser opens a new tab and posts the complete document shown under Full document (your table, the preamble lines and the document class) to www.overleaf.com/docs. The request goes directly from your browser to Overleaf; it does not pass through my server. Overleaf receives the document along with your IP address and browser details, may ask you to sign in or create an account, and handles the project under its own privacy policy. If your table contains anything you don’t want Overleaf to have, copy the code instead.

Feedback you send

The Give feedback and Send feedback buttons open a short form. Nothing is sent while you type. Only if you press send, these details go to my feedback service, which runs on Supabase, and are stored so I can read and handle the message:

Your table is not attached. The form doesn’t ask for your name or email. If you want a reply, include a way to reach you in the message; I will use it only to answer you. To limit spam, the feedback service caps how many messages one network can send per hour, so it processes your IP address to apply that limit. Please don’t include passwords, keys, payment details or other sensitive information in a message. If a table goes wrong and you want to show me, paste only the part needed to reproduce the problem.

Analytics

I run my own analytics service, hosted on Supabase, to learn which features people use and where the site fails. It is not Google Analytics and it is not shared with any advertising network. It records:

It does not record the contents of your cells, captions, labels or files, the generated code, the text of feedback, your name, your email or anything else that identifies you, and it doesn’t store your IP address as a way to identify you. The visitor ID is kept in your browser’s local storage and the session ID in session storage, both under keys starting with wa_. They are random, are not linked to any account and are not used on other websites.

The analytics script is loaded from my Supabase project on every page, so Supabase receives your IP address and browser details when your browser fetches the script, as any web server does, even if you have turned analytics off. There is no consent banner: analytics is limited to the items above, is used only to improve this site, and can be switched off here at any time.

Turning analytics off stops all events and deletes the wa_ IDs from this browser. Your choice is saved in local storage under latex-table-generator:analytics-off, so it applies only to this browser on this device. If you clear this site’s data, the choice is cleared too.

Cookies and browser storage

The site sets no cookies of its own. It uses your browser’s storage as listed below, and you can clear all of it at any time in your browser’s settings.

KeyTypePurpose
latex-table-generator:tableSession storageYour current table and settings, so a reload keeps them; cleared when the tab closes
latex-table-generator:classSession storageThe document class chosen for the fit check
wa_… (visitor ID)Local storageRandom analytics visitor ID
wa_… (session ID)Session storageGroups one visit’s events; cleared when the tab closes
latex-table-generator:prefsLocal storageYour last paper (document class) and style choices, so the next visit starts with them
latex-table-generator:lastLocal storageA copy of your last table, offered back on your next visit (“Restore it”)
latex-table-generator:analytics-offLocal storageRemembers that you turned analytics off

Hosting and server logs

The site is hosted on Vercel. Like any web host, Vercel processes your IP address, browser details, the time and the page requested in order to deliver pages, keep the service secure and diagnose faults, and keeps request logs for its own retention period. Because the table editor runs in your browser, those logs contain page requests, not your tables.

Service providers and transfers

Overleaf is not my provider: it receives data only when you press Open in Overleaf, and it acts on its own account. These providers may process data in the United States and other countries outside your country. Where data protection law requires it, transfers rely on the providers’ standard contractual clauses or similar safeguards.

Where the GDPR or a similar law applies, the legal basis is legitimate interest: running the site, keeping it secure, understanding which features are used and what fails so it can be fixed, and answering feedback. Feedback is sent only when you choose to send it, and a document goes to Overleaf only when you press the button. I balance these interests against yours by collecting the minimum listed here and by letting you turn analytics off.

Sharing and selling

I don’t sell personal information, rent it or share it for targeted advertising, and I don’t combine it with data from other sources. Apart from the service providers above, I would disclose information only if the law required it, to protect the site or its users from fraud or abuse, or as part of a transfer of the site to a new owner, who would stay bound by this policy for data collected under it.

How long data is kept

Security

The site is served only over HTTPS and sets standard security headers. Tables are never transmitted to my server. Analytics events and feedback are written through narrow interfaces that accept new records but don’t let a visitor read anyone else’s data, and access to the stored data is limited to the person who runs the site. No system is perfectly secure.

Your rights

Depending on where you live, for example under the GDPR, the UK GDPR or US state privacy laws, you may have the right to ask whether I hold information about you, to get a copy of it, to have it corrected or deleted, to restrict or object to how I use it, and to withdraw a choice you made. You won’t be treated differently for using these rights.

To make a request, use the feedback form and say what you want. Because I don’t collect names or accounts, I can usually only find a feedback message if you tell me roughly what it said and when you sent it, and I can only find analytics events if you give me the visitor ID from your browser’s storage (the wa_ key). Turning analytics off is the quickest way to stop further collection. I act on requests within one month; include a way to reach you if you want a written answer. If you are in the EEA or the UK, you can also complain to your local data protection authority.

US state privacy laws

Since the site launched in November 2026 I have collected, as described above, internet activity on this site (analytics events and server logs) and the content of feedback messages people chose to send. I have not sold personal information or shared it for cross-context behavioral advertising, and I don’t use or disclose sensitive personal information. Residents of California and other states with similar laws can make the requests described under “Your rights”.

Global Privacy Control and Do Not Track

If your browser sends a Global Privacy Control signal, the analytics script doesn’t record anything and there is no setting to change. There is no common standard for responding to the older Do Not Track signal. I don’t track you across other sites, so there is nothing for it to switch off, and you can still turn analytics off above.

Children

The site is a general-audience tool for writing LaTeX. It is not aimed at children, and I don’t knowingly collect personal information from children under 13 (or under 16 in the EEA and the UK). If you believe a child has sent me personal information in a feedback message, tell me and I will delete it.

The home page links to package documentation on CTAN and GitHub and to Overleaf. Those sites have their own privacy policies, which apply once you follow a link or use Open in Overleaf.

Changes to this policy

I will update this page, and the date at the top, whenever the way the site handles data changes. If a change means collecting something new, it will be described here before it starts. Questions about this policy can go through the contact page.