Ignitify.dev

Privacy Policy

What personal data Ignitify holds, why, where it is stored, and for how long.

This page is being reviewed by counsel. It may change.

Last updated
Clauses
12

The clauses

01Who we areIn preparation

Ignitify runs the code of businesses in isolated VMs. This policy says what personal data Ignitify holds, why, and for how long.

For the data of your account (section 02, first group) Ignitify decides why and how the data is used. In data protection terms, Ignitify is the controller. For the data that your own code handles, you are the controller and Ignitify is the processor. That case is in the Data Processing Addendum.

To reach us, write to admin@ignitify.dev.

Missing: The legal name of the company that is the controller, its registered address, and its company number.

02What we collect

Account data. The workspace name and the owner email address. At the first sign-in both come from your Google account. API keys: we store a hash of each key (never the key itself), a label, the time it was last used, and whether it was revoked. For a key from ignitify login, the label is the name of your computer, and we store when the key expires.

Sign-in data. You sign in with Google. Google gives us your Google account id, your email address and your name. We store them, the time of your first and your last sign-in, and whether your sign-in is active or disabled. We do not receive your Google password.

Sessions. For each browser session on the account pages: a hash of the session cookie, the IP address and the browser user agent, and when the session started, expires or was ended. For each start of a sign-in with Google: single-use values that tie the answer from Google to your browser.

Logins of the command line tool. For each ignitify login: the name of your computer, the version of the tool, the IP address that started the login, a hash of the device code, and the short code you approve.

Your code and settings. The source of your tasks, the images we build from them, and your deployment settings. Secrets that you store are encrypted.

Run data. The payload you send to a run and the result it returns, each limited to 10 KiB, and the status of the run. The console output of a VM is read from the machine that ran it when you ask for it. The platform database does not keep a copy.

Usage records. For each run: when it started and ended, its duration and its VM size. For each account and month: runs started, deployments created, compute seconds, network egress, and a count of API requests. Storage use is recorded too.

Invoices. The amount and the billing period of each invoice, per account.

Request and audit records. For each API request: the method, the route, the status and the duration. These records also hold the headers, URL, query and body of the request. Credentials and secret-looking values are replaced with "<redacted>" before storage. Headers can include the network address of the caller. Records of events in your account, such as a run starting, are kept in the same place.

Your emails. If you write to us, we keep your message and our reply.

This website. The site is static. It sets no cookie and runs no analytics. It reads one cookie of the account pages to show "Profile" instead of "Sign in". See section 09.

03Why we hold it

To provide the service: to create your account, to sign you in, to authenticate your requests, to build and run your code, to show you your runs and usage, and to bill you.

To keep the platform safe: to limit abuse, to apply the limits of your plan, and to find and fix faults. The request and audit records serve this purpose.

To answer you: to reply to your emails and to give support.

To meet the law: to keep the records that the law asks us to keep, such as invoices.

Where the law needs a legal basis, we rely on: the contract with you, our legitimate interest in security and in preventing abuse, and a legal obligation.

04How long we keep it

These periods are what the platform does now. They are the current default settings and can change.

Sign-in data: until your sign-in is deleted. You can ask us to delete it (section 08). Then we delete it, with its sessions, and disable your workspace (Terms of Service, section 08).

Browser sessions: a session lasts at most 30 days. Its record, with the IP address and the user agent, is deleted 7 days after the session expires or ends.

Starts of a sign-in with Google: valid for 10 minutes, deleted 1 hour after that.

Logins of the command line tool: the code is valid for 10 minutes. The record, with the IP address, is deleted 24 hours after the code expires.

An hourly job deletes the records of sessions, sign-in starts and logins. These periods can change after legal review.

Account, tasks, deployments, runs, payloads and results: until the account is deleted. A delete marks these records as deleted and hides them. It does not erase them from the database at the same moment. At present nothing erases them later by itself.

Stored secrets: unrecoverable once the account is deleted, because the encryption key of the account is destroyed.

API keys: revoked when the account is deleted. The hash stays in the record.

Usage records and invoices: not deleted by any automatic job. A bill must still read as it was issued.

Request and audit records: 180 days, then they are removed.

Records of failed inbound requests to your apps: 14 days.

VMs: a VM is destroyed when its work is done. If you ask for it, a VM stays warm for your next run, or pinned until you delete it.

Your emails: no retention period has been set yet.

05Who else sees itIn preparation

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

We use a few providers to run the service. They are listed in the sub-processor list in the Data Processing Addendum, annex section 10. In short:

Google is the identity provider for sign-in. When you sign in, Google tells us your Google account id, your email address and your name, and that Google has verified the email address. Google receives no run data. Google handles your Google account under its own privacy policy.

GitHub Pages hosts this website. It serves the pages to visitors. It does not receive your account or run data.

Namecheap provides the DNS of the ignitify.dev domain. It sees domain name lookups. It does not receive your account or run data.

The infrastructure provider provides the machines that run the platform and hold its database. It is the only provider that holds account and run data.

We also disclose data when the law requires it.

Missing: The name of the infrastructure provider that hosts the servers.

06Where it is storedIn preparation

Account data and run data are stored on servers that Ignitify operates on the infrastructure provider’s machines.

Missing: The country and region of those servers, and whether data crosses a border.

07Security

We take these measures. They are not a promise of any result.

Every run has its own Firecracker microVM with its own kernel. A VM never serves two customers.

A request is tied to the account of its API key. Queries for runs and logs are limited to that account.

API keys are stored as hashes. Stored secrets are encrypted with AES-256-GCM under a key for each account.

VMs can reach the public internet only. They cannot reach other VMs, the private networks of the platform, or cloud metadata addresses.

Plans set limits for each account, and failed sign-in attempts are rate-limited by source address.

Credentials are redacted from the request records before they are stored.

We hold no security certification. We cannot guarantee that a breach will never happen.

08Your rights

Where the law gives you the rights, you may ask us for access to your personal data, for correction of it, for deletion of it, to restrict or to object to its use, and to receive it in a portable form.

To use a right, write to admin@ignitify.dev from the owner email address of the account. We may ask you to prove who you are.

When we delete your sign-in, the record of your Google account and its sessions are deleted from the database. A deleted workspace stays in the database as a record marked deleted (section 04). If you ask for deletion, we tell you what we can remove and what we must keep.

You may also complain to the data protection authority of your country.

09Cookies and browser storage

This website sets no cookies. It has no analytics, no advertising pixel and no third-party tag on any page. It makes no request to a third party.

The account pages on account.ignitify.dev set three cookies. Two are needed to sign you in, and neither is used for anything else. The session cookie lasts at most 30 days and ends when you sign out. The sign-in cookie lasts 10 minutes and ties the answer from Google to your browser.

The third cookie (ignitify_signed_in) tells this website that you are signed in, so the page header shows "Profile" instead of "Sign in". It holds only the name of the account pages host. It holds no identifier, no email address and no secret, and it does not sign you in. This website can read it. It lasts no longer than your session and is removed when you sign out.

It keeps two preferences in your browser storage: the light or dark theme (ig-theme), and the example tab you last chose in the docs (ig-docs-tab). Neither leaves your browser.

GitHub Pages serves this site. It may record visitor requests under its own policy.

10Children

Ignitify is for businesses. It is not for children, and we do not knowingly collect data about children.

11Changes to this policy

We may change this policy. The date at the top of this page shows the last update.

12Contact

Write to admin@ignitify.dev.