RescriptusStart writing

Draft: this page is being reviewed and may change.

Privacy policy

Your writing stays in your own storage, never on our servers.

Last updated: {{DATE}}

The short version

  • Rescriptus does not receive, store or read your writing. It stays where you chose to keep it: in your browser, in a folder on your computer, or in your own GitHub repository.
  • We ask for no email address and have no user accounts. Accounts are planned, to go with signing in; this policy will change before they arrive.
  • If you use GitHub, our server handles your GitHub sign-in tokens so you stay signed in.
  • Our server, and the services in front of it, see your IP address and basic request details, as every web server does.
  • Your browser keeps a copy of your project on your device.
  • We use no analytics, advertising or tracking.

Who we are

{{OPERATOR}} runs Rescriptus. We are the “controller” of the personal data described here under the UK GDPR and the Data Protection Act 2018.

Contact: {{CONTACT_EMAIL}}

What we process, and why

1. Your writing

Your chapters, wiki pages and notes are not sent to us. Your browser keeps them in the place you chose:

  • This browser. In the browser’s own storage on your device.
  • A folder on your computer. Your browser writes to the folder you picked. Nothing leaves your computer.
  • GitHub. Your browser sends your writing directly to GitHub’s API (api.github.com) using your access token. Our server does not receive file text, file names, repository names, branch names or commit messages. GitHub is the controller of your repository and your GitHub account. Its privacy statement applies.

If your writing contains personal data about other people, for example real people in a memoir, you are responsible for it. We do not process it.

2. Signing in with GitHub (only if you choose GitHub)

When you press “Sign in with GitHub”, Rescriptus sends you to GitHub. When you come back:

  • GitHub sends our server a one-time code in the web address. Our server swaps it, using our app’s secret key, for an access token and a refresh token.
  • The access token is short-lived. Our server passes it to your browser, which keeps it in memory and uses it to talk to GitHub directly.
  • The refresh token goes into a cookie called pal_gh_rt. It is “httpOnly”, so scripts on the page cannot read it. When the access token expires, your browser asks our server for a new one, and our server uses the cookie to get it from GitHub. GitHub sets how long the refresh token lasts: up to about six months.
  • While doing this, our server holds the tokens in memory, and keeps the last refresh token in memory for about 60 seconds, to cope with two tabs refreshing at once. It does not write tokens to disk.
  • The Rescriptus GitHub App asks for access to repository contents (read and write) and metadata (read), only for the repositories you choose.

We never see your GitHub password. GitHub handles it. Why we do this: to provide the sign-in you asked for. Lawful basis: performance of a contract (Article 6(1)(b) UK GDPR).

3. Request details and logs

When your browser asks for any page, the server, and the services in front of it, see:

  • your IP address;
  • your browser and device type (the “user agent”);
  • the web address requested, and the time;
  • on sign-in, the one-time sign-in code and state value in the return address, once.

These requests pass through Cloudflare, which delivers and protects the service and keeps its own logs. The Rescriptus server may also keep ordinary operating logs. We do not use any of this to identify you. We use it to keep the service running and secure, and to spot abuse. Lawful basis: our legitimate interests in running and securing the service (Article 6(1)(f)).

Retention: {{LOG_RETENTION}}

There is no Cloudflare Access or other sign-in wall in front of the public site or the app.

4. What is stored on your device

Rescriptus stores the following on your device. All of it is needed to provide what you asked for, so we do not ask for consent.

NameWhereWhat forHow long
pal_gh_stateCookie (httpOnly)Stops forged sign-in attempts10 minutes
pal_gh_rtCookie (httpOnly)Keeps you signed in to GitHubSet by GitHub, up to about six months, or until you disconnect
rescriptus-browser-projectsBrowser databaseYour project, if you chose “In this browser”Until you clear this site’s data
palimpsestBrowser databaseA copy of a GitHub or folder project and any edits not yet sent, so pages open quickly and edits survive a dropped connectionUntil you clear it. “Disconnect” from GitHub removes it
palimpsest-foldersBrowser databaseRemembers the folder you picked, so you need not choose it againUntil you clear it
pal-storage, pal-theme, pal-highlights, pal-live, pal-binder, pal-wiki, pal-side-tabLocal storageWhere your project lives; light or dark; which panels and highlights showUntil you clear them

Your project’s text is held in plain form on your device. It is not encrypted. Anyone with access to your browser profile can read it. On a shared computer, download your project and clear this site’s data when you finish. The public pages (this site) set no cookies.

5. Emails you send us

If you write to {{CONTACT_EMAIL}} we use your address and message to reply. Lawful basis: legitimate interests (answering you).

6. Accounts and payments (planned)

Rescriptus has no accounts and no payments yet. When sign-in and paid plans arrive, they will involve an account identifier, an email address and a payment provider. This policy will be updated first, and will name them.

7. Google Drive (planned)

Google Drive storage is coming. When it ships, this policy will name the permission asked for and list Google as a recipient.

8. Images in notes

Images from other websites are not loaded in the app. Your browser is told not to fetch them, so that reading a note does not tell another site you were there.

Who receives data

RecipientWhyData
GitHub (Microsoft), USAOnly if you choose GitHub: sign-in, holds your repository, your browser calls its APIEverything you store in your repository; your account; your IP address when your browser calls it
Cloudflare, USA and elsewhereDelivers and protects the serviceRequest details, as above

We do not sell personal data. We do not share it for advertising.

Transfers outside the UK

GitHub and Cloudflare are US companies. Data may be processed in the US and other countries, under the safeguards each provider relies on.

How long we keep things

  • Sign-in tokens: in server memory only. The refresh token is in your cookie until it expires or you disconnect. Disconnecting also revokes the token at GitHub.
  • Server and Cloudflare logs: {{LOG_RETENTION}}
  • Your writing: we do not hold it. It stays where you put it until you delete it.

Your rights

Under UK GDPR you can ask for access to your data, correction, erasure, restriction, to object to our use of it, and to data portability. You can complain to the Information Commissioner’s Office (ico.org.uk).

There is almost nothing on our side to look up per person: the only data about you on our servers is in logs, which we cannot easily search by person, and any emails you sent. We will tell you plainly what we can and cannot find.

To remove Rescriptus’s access to your GitHub account, choose “Disconnect and remove access” on the storage page in the app. Your repository stays as it is. To remove the local copy, clear this site’s data in your browser.

Security

  • HTTPS for all traffic.
  • Sign-in cookies are httpOnly and carry the Secure flag over HTTPS.
  • Access tokens are short-lived and kept in memory only in your browser.
  • A strict content security policy limits where the app’s pages can send data: only to our own server and to GitHub’s API.
  • The sign-in routes are rate limited.

If you find a security problem, please tell {{CONTACT_EMAIL}}.

If a personal data breach puts people at risk, we will tell the ICO within 72 hours of becoming aware, and tell affected people without undue delay if the risk to them is high.

Children

You do not need an account to use Rescriptus, but if you use GitHub, GitHub sets a minimum age. We do not knowingly collect data from children below it.

Changes to this policy

We will change this policy if what we do changes. We will put the date at the top, and tell you in the app before a change that matters to you takes effect.

See also: Terms of use · Help: privacy and your files