Wiki / General

Exporting & Importing Your Data

Last updated

Exporting & Importing Your Data

CertTracker gives you a self-service way to download a copy of everything your company has configured, and a one-time path on a fresh account to restore that copy. This article walks through both sides.

Why we built this

Two reasons.

First, you should be able to walk away with your data. If you decide CertTracker isn't for you, you shouldn't be locked in by the cost of re-typing 200 monitors and 50 alert recipients somewhere else. The export is yours to keep.

Second, regulations like GDPR and CCPA give you a right to data portability. The Export button is how we satisfy that for our SaaS β€” you don't need to file a ticket and wait for us to assemble something by hand.

Exporting

Where: Administration β†’ Alert Addresses card area β†’ scroll to the Export Company Data card.

Who: the company owner, or 12 Squared internal staff. Other admins on the account can't export β€” full-account data exfiltration is a stronger capability than day-to-day admin actions.

How:

  1. Click Export Company Data.
  2. Read the warning. It says β€” accurately β€” that 12 Squared isn't responsible for what happens to the file after it leaves the platform.
  3. Re-enter your password to confirm.
  4. Click Download ZIP. The file downloads to your browser's default download location.

The filename is certtracker-export-{your-company}-{YYYYMMDD}.zip.

Rate limit: one export per company per 24 hours. The card shows when your next export will be available if you're inside the window.

Audit: every export writes a company_data_export row to the auth-events log with the user who triggered it, timestamp, IP address, byte size, and counts. View it under Settings β†’ Logs (filter to event type company_data_export).

What's in the ZIP

Three JSON files plus an optional logo:

  • manifest.json β€” small header with format_version, exported_at, who exported it, source company name/plan, and counts of every entity type. Open it first to see what's in the archive.
  • data.json β€” the actual configuration: company preferences, users (no password hashes), monitors (configuration only, not poll history), tags + tag-to-monitor assignments, alert recipients + per-monitor recipient assignments, contact list, advisory opt-in flags, license summary.
  • last_poll.json β€” reference snapshot of each monitor's most recent observed state: cert subject, issuer, fingerprints, validity dates, TLS version, cipher, hostname-match result, IPv4, SAN list. This file is NOT used during import β€” it's there so you have a record of what your certs looked like at export time.
  • logos/{slug}.png β€” your company logo if one is uploaded.

The export does not include:

  • Password hashes (we don't have them in a useful form β€” they're salted bcrypt, one-way)
  • Stripe billing records (Stripe owns those; they'd be wrong in any new tenant)
  • Certificate change history, advisory acknowledgement history, polling metrics (stale on re-import; first poll re-derives everything)
  • MSP relationships (they involve other companies)
  • Audit / authentication events (per-company log filterable from Logs page)
  • Support tickets and replies

Importing

Where: Administration page, near the top β€” Restore Previous Data card. The card only appears on a fresh company (zero monitors) and only for the owner. It disappears the moment you either restore or dismiss it.

Who: the company owner only. Even 12 Squared internal staff can't import on your behalf β€” re-auth uses your password.

How:

  1. Sign up for a new account normally.
  2. On your first visit to Administration, you'll see the blue Restore Previous Data card.
  3. Click Restore From Backup.
  4. Read the warning. Upload the ZIP. Re-enter your password.
  5. Click Import Data. The import runs in one transaction β€” either everything lands or nothing does.

You'll see a success flash with counts: Import successful: 47 monitors, 12 users, 3 tags, 18 alert recipients…

If the import fails partway through, no data is created in your account. You'll see an error message explaining why (most commonly: the export contains more monitors than your current plan allows).

What you have to do after a successful import

A few things β€” these are intentional, not bugs:

  1. Resume monitors. Every monitor comes back paused, with PausedReason='imported'. Open the Monitors page and click Resume on the ones you want polling immediately. You can also bulk-resume.
  2. Send password resets to imported users. They don't have a usable password β€” there's nothing to import on that front. From Administration β†’ User Management, click each user and use Send Password Reset Email.
  3. Promote admins manually. Imported users come in as plain non-admin members regardless of what they were before. Promote anyone who needs admin privileges via the User Management UI.
  4. Re-establish MSP relationships if needed. MSP assignments aren't carried over. If you had an MSP, you can re-issue the invite code through their administration page.
  5. Re-subscribe to a paid plan. Your previous Stripe billing doesn't transfer. If you were on a paid plan, set up billing fresh.

Limits

Limit Value
Export rate limit 1 per company per 24 hours
Import upload size 50 MB
Supported import format versions 1
Monitor count on import Must fit within your current plan's cap

Compatibility & versioning

Each export carries a format_version in manifest.json. We aim to keep older versions importable for as long as practical β€” bumping the version is a "we changed the schema in a way an old importer couldn't handle" signal. If you try to import a ZIP that's newer than your server understands, you'll get a clear error message; downgrading the server isn't usually possible, so you'd contact support.

FAQ

Can I share my export with another CertTracker tenant?
Technically yes β€” the file is just JSON. But the import refuses if monitor count exceeds the receiving tenant's plan cap, and the importer never overwrites the receiving company's owner. Use this responsibly; the warning before download is there for a reason.

What happens to my data when I delete my account?
Per the Privacy Policy, you have up to 30 days to request an export before permanent deletion. Use the Export button proactively if you're considering leaving.

Why doesn't the export include certificate change history?
Change history is a time series of past observations. By the time you re-import (which usually means days, weeks, or months later), that history doesn't reflect the current state of your endpoints. The first poll after import re-derives the current cert state cleanly. Keeping the history around would clutter the change log without adding signal.

Can I export just one monitor or just one user?
Not yet. The export is whole-company. If granular export becomes a common request we'll add it to the roadmap β€” open a ticket to weigh in.