AWRA OpsHub Search

The Copy That Leaves Without the Keys

An organization should be able to take everything it has put into a system — every record, every attachment — without asking anyone. What one button in AWRA puts in the file, what it deliberately leaves behind, who can press it, and how long the copy lives.

Security & Compliance Washingtone Aura 11 min read

Most software makes it easy to put data in and quietly awkward to take it out. The awkwardness is rarely written down. It shows up as an export that covers the item list but not the attachments, a support ticket that takes three weeks, or a fee that appears on the day you give notice. The test of whether your records are yours is whether you can take all of them, on a Tuesday afternoon, without asking anybody.

In AWRA that is one button, Export everything, on the My Account & Danger Zone page. It builds a single ZIP of every record and every stored file your organization owns, checksums each part, and hands it to the person who asked. This post is what is in the file, what is deliberately left out of it, who can press the button, and what happens to the copy afterwards.

There are two reasons to press it, and they are not the same. One is keeping a copy: an annual snapshot for the archive, evidence for an auditor, a backup you hold yourself rather than one you trust us to hold. The other is leaving. The export is built to serve both, and the second one is why the first one can be trusted. A provider that makes leaving easy has to keep earning the staying.

Everything means every table, not a list someone remembered

The usual way an export goes incomplete is that somebody wrote a list of what to include, and the product grew after the list was written. A module added last year, a new kind of attachment, a settings table nobody thought of as data. The export works perfectly and is missing the part you needed.

This one does not work from a list. It discovers the tables: every table in the database that carries your organization’s rows is exported, whatever it is and whenever it was added. A module that ships next month is in next month’s export without anyone touching the export. And it reads the same map that the organization-deletion purge reads, so what we would delete when you close your account and what we hand you when you leave are the same set by construction.

Files follow the same rule. Every stored file a record points at — a supplier’s quotation, a petty-cash receipt, the signature captured when a transfer was received, a supplier’s bill, a document in the vault — is copied into the ZIP and filed under the record it belongs to. Then the export walks your organization’s own storage folders and takes anything else it finds there, under a separate folder, because a file that no record points at any more is still yours.

What is in the ZIP

In the archive What it holds
README.txt How the archive is laid out and how to read it, in plain language, with the totals for this export.
manifest.json Every table: its file, row count, column names and types, which columns were withheld, and a SHA-256 checksum of the CSV.
data/ — one CSV per table Named after the database table, first row the column names. One file is your organization’s own profile.
files/index.csv One line per stored file: where it sits in the archive, which table, record and column it belongs to, its size and checksum.
files/ by table, record and column The stored files themselves. A file several records share is stored once; the later references point at it.
files/unreferenced/ Files found in your storage folders that no record currently points at.

The CSVs are UTF-8, comma-separated, quoted where needed. An empty cell is an empty value in the database. Ids are the database’s own, so the relationships survive: an item’s category column holds the id of a row in the categories file. Dates are written as stored. A cell that held binary data rather than text is written as base64 with a prefix saying so, rather than as bytes that would break the file.

If a record points at a file that cannot be found on storage, the export does not stop and does not pretend. The file is listed in the index as missing, the count is in the README and on the page beside the export, and everything else goes out complete. An export that fails over one lost attachment is no use to anyone; one that silently skips it is worse.

Checksums are how you know the copy is the copy

Every CSV’s SHA-256 is in the manifest, every file’s is in the index, and the manifest carries the checksum of the index. Copy the archive to a drive, a cloud bucket or an auditor’s laptop, and you can show it is byte for byte what was generated — which is the difference between an archive and a folder of files somebody says came from the system.

The data goes out; the keys stay behind

An export is a copy of your organization that leaves the building. Anything in it that would let the holder act as your organization — sign in as one of your users, call a service you connected, receive your webhooks, charge your card — stays where it is. The rule is simple to state: what you own goes out, the keys to the workspace do not.

That is applied in three layers. Some tables are left out entirely because every row in them is a credential or a session: sign-in sessions, API tokens, password reset codes, passkeys, device push tokens, scanner and portal sign-in tokens, and internal queue and cache tables that hold no business data. Named columns in every other table are withheld: passwords, two-factor secrets and recovery codes, integration keys and secrets, incoming-webhook addresses, the private addresses that let email or a kiosk write into the workspace, and saved card authorisations. And then a safety net: any column whose name looks like a secret is withheld by default, unless it has been checked and listed as safe with the reason written beside it. A credential column added next year is held back unless someone decides otherwise, rather than shipped unless someone notices.

A withheld cell is not dropped. The column stays in the CSV and the cell reads [redacted], and the manifest lists which columns were withheld in each table. Someone reading the file in five years can see that a value existed and was deliberately kept back, rather than wondering whether the export lost it.

  • Kept, because they look like secrets and are not: tax PINs, which are public identifiers printed on invoices; and the hash chain on the activity log, which is what lets the exported log be checked for edits after it has left us.
  • Decrypted, because ciphertext is useless to you: employee bank account names and numbers, mobile-money numbers and statutory ids are stored encrypted. They are your data, an administrator can already read them in the app, and an encrypted copy could not be opened by any other system, so they go out readable.

The export is meant to be complete enough to leave with. That also makes it the most sensitive file your organization will ever download.

That second point is the one to plan around. The ZIP holds bank details, statutory ids, salaries, customer records and contracts in one place, unencrypted. Decide before you press the button where it is going to be stored and who will be able to open it there.

Who can press the button

The button sits behind its own permission, Export organization data, and only the Admin role gets it by default. Anyone else holds it only because somebody granted it deliberately. It is on every plan, including the free one: taking your data with you is not something we charge for.

  1. Confirm with your password

    The request asks for the password again, even in a signed-in session. A laptop left open is not enough to start one.

  2. One at a time

    Only one export per organization can be in progress. A second request is told the first is still being prepared. A build that stops responding for half an hour is abandoned and marked failed, so it never holds the slot for good.

  3. Built in the background

    The ZIP is assembled away from your browser, a table and a file at a time. A small organization’s export is quick; a large one with years of attachments takes longer, and you can close the page.

  4. Told when it is ready

    You get a notification in the bell and, unless you have switched that email off, an email. Neither carries the file or a link to it — both point to the page.

  5. Downloaded by the person who asked

    On the page, a ready export has a download link minted for you when the page loads, valid for ten minutes. Anyone else following it — another administrator included — gets a not-found.

Why point the email at the page rather than the file? Because mailboxes are forwarded, shared, archived and searched. A link that works for whoever holds the email is a link to your whole organization sitting in someone’s inbox. Sending everyone through the page means the file is only ever served to a person signed in as the one who asked, with their password already checked at the request.

Seven days, then it is gone

A finished export stays on our servers for seven days and is then deleted by a nightly job; the page shows the deletion date beside each one. It is not a backup we keep for you. It is a copy for you to take, and holding a complete, decrypted copy of every organization’s data indefinitely would be exactly the kind of exposure the export is careful about everywhere else. Download it, verify it, put it somewhere you control.

Every request and every download is written to the activity log with who, when, the address it came from, the file’s size and its checksum, and each export counts its own downloads. If an export of your organization was taken, an administrator can see who took it and can match the checksum against the file they are holding. For keeping the activity log itself outside the system, see the audit trail that leaves the building.

Reading it, and loading it somewhere else

The CSVs are a faithful copy of the database, not a report. Column names are the database’s rather than the screen’s, and relationships are ids rather than names. That is what makes it complete and verifiable, and it is also why it is not in the shape of the import templates inside AWRA, which use screen labels and look things up by name. Moving the data into another system — or into a second AWRA workspace — is mapping work. We can do it for you.

Before you rely on the export

  • Run one now, while nothing depends on it, and open it. Check that the attachments you care about came with it.
  • Read the missing-files count. A non-zero number is a record pointing at an attachment that was lost before the export, and it is better found today.
  • Open the CSVs as text, or import them with every column as text. A spreadsheet treats a cell beginning with an equals sign as a formula, and the export writes cells exactly as they were typed.
  • Store the checksums with the archive, so the copy can be verified wherever it ends up.
  • Decide who holds the export permission, and look at the activity log for who has used it.
  • If you are evaluating us, put a no-cost export at termination in the contract anyway. A button that exists today is weaker than an obligation written down; we wrote more about that in data exit, retention and deletion.

One distinction worth knowing: the same page has a smaller Export your data button, for any user, that exports the data held about that one person. That is the personal request a data protection law gives an individual. The organization export is the whole workspace, and is the one this post is about.

Buildable

More ways to take your data

The export is complete, verifiable and on every plan. What follows changes when it runs, where it lands and how it is protected on the way.

Scheduled exports

A monthly or quarterly export built on its own, so a held copy is always recent.

Delivery to your own storage

The finished ZIP written straight to a bucket or drive your organization controls.

An encrypted archive

The ZIP sealed with a key you choose, so the file is protected wherever it is copied.

A chosen slice

One module, or one date range, for an auditor who needs part of the record.

A second approver

An export that waits for a second administrator, with every other administrator told it was requested.

Mapping into your next system

The CSVs reshaped into another product’s import format, or into a second workspace.

Scheduled exports and delivery to your own storage are the natural pair; the rest are each small additions to the same build.

Tell us how you keep your copy

The straight answer

What AWRA OpsHub does today

  • One ZIP of the whole organization: every table that carries its rows, discovered rather than listed, as one CSV per table, from the same map the deletion purge uses.
  • Every stored file a record points at, filed under its record, plus any other file in the organization’s storage folders; files that cannot be found are listed and counted, not skipped silently.
  • A manifest and a file index with a SHA-256 checksum for every CSV and every file, and a plain-language README.
  • Credentials withheld: whole tables of sessions and tokens left out, named secret columns written as redacted, and any column named like a secret withheld by default.
  • Employee bank details and statutory ids decrypted, because they are the organization’s data.
  • Its own permission, Admin only by default, on every plan, with the password asked again and one export in progress at a time.
  • Download only by the person who asked, through a link minted on the page and valid for ten minutes; the email and the bell point to the page, never the file.
  • Deleted after seven days, with every request and download in the activity log, and a read-only API to list and download your own exports.

More we can add to your workspace

  • Scheduled exports, built monthly or quarterly without anyone pressing the button.
  • Delivery to your own storage, straight to a bucket or drive you control.
  • An encrypted ZIP, sealed with a key you choose.
  • A chosen slice of the export, by module or by date range.
  • A second approver on the request, and a notice to every other administrator when an export is requested.
  • Handing a ready export to a colleague to download, with their name in the log.
  • A longer keep period for organizations that want the file held for more than seven days.
  • Requesting an export from the API or the mobile app; today the request is made on the web, where the password is asked again.
  • Loading the export into another system, mapped to its import format, or into a second AWRA workspace.

Where we point you to a specialist

  • We will not put passwords, sign-in tokens, integration keys or saved card authorisations into an export, whoever asks. A copy of the keys would let whoever holds the file act as your organization.
  • We do not keep the finished file as a backup on your behalf. It is a copy for you to take and store where you decide.

Scheduled exports with delivery to your own storage are the piece most organizations ask for first, and we would quote them together.

The short version

Export everything builds one ZIP of every table and every stored file your organization owns, found rather than listed, with a checksum on each part and a README that explains the layout. It leaves behind anything that would let the holder act as you — passwords, tokens, keys, card authorisations — and decrypts the bank details and ids that are yours. Only an administrator can ask by default, the password is checked again, only the person who asked can download it, and it is deleted after seven days. Run one now, open it, and decide where it lives.

See how we look after your data

Where your organization’s data is held, how it is protected, and how you take it with you.

Visit the trust centre

Frequently asked questions

Can we export all of our data from AWRA OpsHub?

Yes. An administrator can press Export everything on the My Account & Danger Zone page. It builds one ZIP with a CSV for every table that holds your organization’s records, every stored file those records point at, a manifest with a SHA-256 checksum for each part and a README explaining the layout.

Is exporting our data a paid feature?

No. The full organization export is on every plan, including the free one.

What is left out of the export?

Anything that would let the holder act as your organization: passwords, sign-in sessions and tokens, two-factor secrets, integration keys and secrets, incoming-webhook addresses, inbound email and kiosk tokens, and saved card authorisations. Withheld cells read redacted, and the manifest lists which columns were withheld in each table.

Are employee bank details in the export?

Yes, decrypted. They are stored encrypted, but they are your organization’s data and an encrypted copy would be useless in another system, so they are written out readable. Store the file accordingly.

Who can download the export?

Only the person who requested it. The notification and the email point to the page, where a download link valid for ten minutes is created for that person. Anyone else following the link, including another administrator, gets a not-found.

How long is the export kept?

Seven days after it is generated. A nightly job then deletes the file, and the page shows the deletion date beside each export. Every request and download is written to the activity log.

Can we import the export into another system?

The CSVs are a faithful copy of the database tables, keyed by database ids, rather than the shape of any product’s import templates. Moving them into another system, or into a second AWRA workspace, is mapping work, which we can do for you.

Share this article

LinkedIn X WhatsApp

Help Center

Need a quick answer while you read?

Run inventory, procurement, assets, sales, and field work with approved AWRA guidance for setup, migration, integrations, security, pricing, and support.

Search all approved AWRA public help articles.

Open Help Center