PubUnlock

Optional analytics

PubUnlock does not set analytics cookies and does not load optional scripts until you choose. Accept turns on cookieless page counts. Reject leaves them off. A necessary cookie remembers this choice. Privacy notice.

Privacy notice

This notice explains what PubUnlock collects when you ask for email updates, donate a sample file, convert .pub files, or pay for a batch. The product name, legal name, postal address, email, and domain on this page come from one config file.

Product
PubUnlock
Operator
PubUnlock is operated by Kenan Cackovic, a sole proprietor
Postal address
5921 Landis Ave, Unit 1, Carmichael, CA 95608, US
Contact email
support@pubunlock.com
Domain
pubunlock.com

What we collect

How we use it

We use the email and audience type to send the updates you asked for, and only after you confirm. We use sample files only to test conversion quality. We use files you upload for conversion to make a watermarked preview and a converted copy, and we use the payment row to know whether that batch is paid. We use contact messages to reply. We do not use files or messages to train AI.

Sample files and converted files

Donated .pub files are used only to test conversion quality. They are never shared or published. Unconfirmed files are deleted within 24 hours. Confirmed files are kept for 90 days, then deleted. You can ask us to delete them at any time. Do not upload a file that contains personal information. The donation checkbox is separate from the email-updates checkbox and starts unchecked. We email you a link to confirm the donation and a link to delete the files sooner. PubUnlock also accepts .pub files you upload to convert them. We process those files to make a watermarked preview and a converted copy. A separate converter, hosted for us on Fly.io, processes the files. We delete the upload, the preview, and the converted copy within 24 hours, and you can delete them now from the batch page. The payment row for that batch is deleted with the batch. We keep a log of the product, the file name, and the file count for 30 days. We also keep each file name and the conversion details (size, Publisher version, result, error code, duration, and tier) for 90 days for support and quality. That detail log is separate from deleting the files within 24 hours. A deletion request removes it. The detail log does not include the file contents, an IP address, or an email address. To honor a deletion request after the batch row is gone, we keep a salted hash of the email with the batch id for those same 90 days. The converter deletes its own copy within about an hour after conversion finishes. Nothing in these files is used to train AI.

Cookies and optional scripts

Before you choose, we do not set an analytics cookie and we do not run optional analytics. A short necessary script reads Global Privacy Control from the browser so the page can honor it. It does not call a third party. A necessary HttpOnly cookie named pr_batch_ plus the batch id, sent only to pages for that batch, stores the batch link token for 3 hours so Checkout can return you to the batch without putting the token in the payment address. Cloudflare Turnstile, used only before a free batch, may store a cookie on the Cloudflare domain to tell a person from an automated request. Paid checkout does not load it.

Reject, or a do-not-sell choice, leaves optional analytics off. Accept allows a same-site request that counts the page. That request does not set a cookie. There is no advertising script and no third-party analytics.

Sale, sharing, and Global Privacy Control

We do not sell personal information. We do not share it for cross-context behavioral advertising. If your browser sends Sec-GPC: 1 or sets navigator.globalPrivacyControl, we treat that as an opt-out: optional analytics stay off, and we set a necessary preference cookie so the opt-out sticks.

Do Not Sell or Share My Personal Information

Email choices

Update email is double opt-in. The consent line is: “Email me about PubUnlock and related updates. Unsubscribe anytime.” Every email includes a one-click unsubscribe link and the postal address in this notice. Opening that link does not change anything until you press the button. Confirmation links expire after 7 days. Unsubscribe and delete links do not expire, including after you confirm and after we send another confirmation. Sending the form again does not change the consent already stored for that email until you confirm the new message. If you have unsubscribed or deleted your record, submitting the form again does not restore update email. We send at most one rejoin confirmation every 30 days, and only completing that confirmation creates a new consent record from that submission. The earlier consent is kept for our records until you delete your data, and it is not used to send email. Deleting your record deletes that consent history. A rejoin that is not confirmed is deleted after 7 days, and we keep only a hash of the address. You can also use the unsubscribe page. If you enter an email there, we send a link to confirm; that request does not unsubscribe you by itself.

Who processes it

Vercel hosts this site. Supabase stores email-update records, donated files, conversion files, payment rows, and Stripe event ids. Resend sends confirmation email and contact-form email. Stripe is the payment processor. Stripe Checkout collects the payer email and the card or billing details directly. Stripe receives those details and keeps the card data under its own retention. We store the payment row described above and we do not store the card number, expiry, or CVC. Cloudflare Turnstile checks that a free batch is requested by a person. We send Cloudflare the visitor IP address for that check, along with the browser interaction, and only when the batch can be free. Paid checkout does not send anything to Cloudflare. Fly.io hosts the converter. The converter for PubUnlock processes .pub files you upload for conversion. It receives the file bytes, the file names, and a callback address when that callback is configured. Those processors handle the information needed to host the site, store the records, convert the files, take payment, and deliver the email. Supabase, Resend, and Stripe keys stay on the server. Email-update records are kept until you unsubscribe or delete them. After deletion we keep only a hash of the email, keyed with a secret, not the address, until a new confirmation succeeds. An unconfirmed rejoin is deleted after 7 days. Unconfirmed sample files are deleted within 24 hours. Confirmed sample files are kept for 90 days. Conversion uploads, previews, converted copies, and the payment row for that batch are deleted within 24 hours. Confirmation links expire after 7 days. Unsubscribe and delete links do not expire. Stripe event ids are deleted after 30 days.

How long we keep it

GDPR

If the GDPR applies to you, we use these lawful bases: contract, to convert the files you upload and to take the one-time payment for that batch; consent, for email updates and for optional page counts; and legitimate interests, for security, rate limits, and keeping the site reliable. Payment rows exist so we can tell that a batch is paid, and they are deleted with the batch within 24 hours. You can ask for access, rectification, erasure, restriction, and a portable copy of the information we hold, and you can object to processing based on legitimate interests. Email support@pubunlock.com. You can also complain to a data-protection supervisory authority. Vercel, Supabase, Resend, Stripe, Cloudflare, and Fly.io process this information in the United States. Those transfers rely on the safeguards those processors provide.

CCPA

If the CCPA applies to you, the categories we collect are identifiers (your email), commercial information (the tier, amount, currency, status, Checkout session id, and payment intent id — not the card), internet activity (a daily page count only if you choose Accept), and the files you upload. You can ask to know, correct, or delete that information by emailing support@pubunlock.com. We do not sell personal information and we do not share it for cross-context behavioral advertising. The do-not-sell page records that choice. We do not discriminate against you for using these rights.

Deletion and access

If you still have the link from an update email, the unsubscribe page has a Delete my data button. That request is authorized by the link’s token. That request also removes conversion detail rows for batches tied to the address, including after those batches have been deleted. You can also email support@pubunlock.com to ask for a copy or deletion. There are no accounts. Deleting a batch deletes its payment row. Card data stays with Stripe.

Children

This service is not directed at children, and we do not knowingly collect their information.

Changes

If this notice changes in a material way, we will update this page.

Privacy notice · PubUnlock