The exit, documented by the vendor. Read it before you need it.
Nobody asks about leaving during a sales conversation, and everybody wishes they had eighteen months later. So here it is in advance: what you can export, what deletion actually removes, how many rows and which storage directories, how long you have to change your mind, and where we say plainly that a thing is not what you might hope it is.
“Get my data out”, “erase this person” and “close the account” are three separate requests.
They arrive in the same conversation and they have almost nothing in common. Conflating them is how an organisation accidentally erases an employee when it meant to export their file, or closes a workspace when it meant to remove one person's personal data. Each has its own route, its own permission and its own consequences.
Reversible — nothing changes
Export a person's data
A structured JSON file describing one user: their profile, their assignments, their registered devices and their recorded activity. Generated in the background and delivered as a signed link that expires.
Who can ask
Yourself, from your own account screen
Also available to
An administrator, per user, on the web and the API
Effect on data
None whatsoever
Delivery
Signed download, valid 24 hours
Irreversible for that person
Erase a person
A privacy erasure. Identifying details are overwritten, sessions and tokens destroyed, role assignments removed, and the actor name and email on their audit entries replaced — so the history of what happened survives while the person is no longer identifiable in it.
The record of actions, with the actor pseudonymised
One-way door
An erased user can never be restored from the recovery centre
Irreversible for everyone
Delete the organization
The whole workspace: every record, every file, every user. Preceded by an impact preview, gated on a short-lived token you have to echo back, then scheduled with a thirty-day grace period and reminder emails before anything is removed.
Who can ask
Somebody permitted to delete the organization — not any administrator
Nothing to recover. There is no bin behind this one.
The part worth judging us on
Anybody can offer a delete button. The preview is where the honesty is.
Before a deletion can be scheduled, the system walks the tenant-scoped tables in your workspace and counts the actual rows. Not an estimate, not a summary — a per-table count, with the tables holding nothing filtered out so the list you read is the list that exists. It separately counts file references across nineteen known columns that hold a stored path, names the four storage directories that belong to the workspace, and reports the log rows.
What the preview returns
And why that specific thing
tenant_scoped_rows
The total across every table carrying your workspace identifier. It is the number that makes the decision real — "147,882 rows" lands in a way "your data" does not.
tables[]
A per-table breakdown, with the tables holding nothing removed. Reading it is how you notice the module you forgot you were using.
cleanup: cascade | direct
Per table, whether the rows go with the workspace through a database relationship or need removing explicitly. That distinction is the difference between a deletion that finishes and one that leaves orphans, and it is published rather than assumed.
non_fk_leftover_rows
The count that need direct cleanup, called out as its own figure. This is us telling you which part of the job is the fiddly part.
files[]
File references counted across nineteen columns that hold stored paths — document vault files, compliance evidence, report exports, workflow attachments, quotations, adjustments, payment proofs, invoices, POS receipts, profile photos and draft email attachments.
storage_directories[]
The actual directory paths that belong to the workspace, printed. Four of them, named, so you can see where your files live rather than being told they are "securely stored".
users / vendors
Counted separately from everything else, because they are the two figures somebody will want to sanity-check against what they believe they have.
log_rows
System log rows, counted separately and deliberately narrowly — only the system log, not every table that happens to have "log" in its name, so the figure means one thing.
blockers[]
Reasons the deletion cannot be scheduled at all. If this list is non-empty, no token is issued and nothing can be started. A refusal you can read beats a failure you cannot.
grace_days / scheduled_for
How long you would have, and the exact date and time it would run, calculated rather than described.
And a detail that says more about the design than any of the above. The preview mints a short-lived token — fifteen minutes — and the deletion request has to echo it back. Which means a deletion cannot be requested by anything that did not just look at the impact of it. Not a stale form, not a bookmarked URL, not a script somebody wrote last month against the endpoint. You saw what it would do, in this session, minutes ago.
Thirty days
Deletion is scheduled, not executed. That gap is the whole safety net.
An immediate delete is a feature that eventually destroys somebody's business over a bad afternoon. A scheduled one with a grace period, reminder emails and a visible cancel is the same capability with the consequence of a mistake removed.
DAY 0Requested and confirmed
The impact preview was read, the token echoed back, the request written with a scheduled date thirty days out. The workspace keeps working normally.
DAYS 1–29Reminders, and a cancel
A reminder email goes out on its own cadence — at most once a day, gated by the same notification settings as everything else, so it cannot become a stream. The request is visible and cancellable throughout.
ANY DAYCancelled, and it is over
One action ends the request. Nothing was removed, nothing needs restoring, and the workspace carries on as though it had never been asked.
DAY 30It runs
The queued job removes the rows, clears the directly-cleaned tables and deletes the storage directories. After this point there is nothing to recover — not in the recovery centre, not anywhere.
Blockers refuse the whole thing
If the workspace is in a state that cannot be safely deleted, the preview returns a blocker and no confirmation token is issued — so the request cannot be started at all rather than starting and failing halfway. And the same rule appears one layer down: a workspace can never appear in its own recovery centre, precisely so that a deletion cannot be reversed by the workspace that is being deleted.
Migrations block it too
If the deletion-request machinery is not fully in place — a partly-migrated environment, mid-upgrade — the endpoint refuses with that as the stated reason rather than proceeding with an incomplete understanding of what would be removed. An honest “not right now” is better than a deletion that half-works.
What a data export contains
Five sections, one of which is deliberately empty — and says why.
The export is a per-user file answering “what do you hold about me”. It is generated in the background, written to secure storage, and delivered as a signed link valid for twenty-four hours, so the file is never sitting behind a guessable URL.
Section
Contents
profile
Name, email, country, phone, photo reference, active flag, when the email was verified, when a password was last set, whether MFA is enabled, and the created, updated and deleted timestamps.
privacy
The current privacy state held for this person, so the export answers what your consent and preference records say as well as what your user record says.
assignments
Roles with their names and descriptions, and the warehouse, location and department the person is attached to — each as a named object rather than an identifier you would have to look up.
devices
Registered devices, which is the part people are most surprised by and most entitled to see.
audit_activity
Their recorded activity: the action, the module, the route name, the HTTP method, the IP address, the user agent and the timestamp, per entry.
handover_signatures
Deliberately EXCLUDED, with the reason stated in the file itself: a captured signature identifies the person who signed — usually a customer, driver or custodian rather than a system user — and is stored against the movement rather than against an account. It cannot be attributed to this user automatically, and exporting them here would disclose other people's signatures. The file names where they do live and how to act on a request about a specific one.
That last row is the most useful thing on this page. A section that could plausibly have been included, was not, and explains itself inside the file — including where the data does live and what to do if a request genuinely concerns it. A privacy export that silently omits a category is worse than one that omits it loudly, because only the second one can be checked.
Generating an export is itself recorded as privacy evidence: who asked, for whom, which sections were produced and how many rows were in each. So “we responded to that request” is a record rather than a recollection.
The straight answer
The most important paragraph on this page is in the third column.
Specifically: this is a privacy export, not a portable copy of your operational data. If you are evaluating lock-in, read that first and then read the rest.
A vendor that will not describe the exit is telling you something.
You are choosing a system you may run for a decade. The question is not whether leaving is easy — it is whether the answer was written down before you needed it, and whether the awkward parts are in it. Ours are in the third column above, including the one about the operational export.
A per-table row count, a file reference count and four named directories — not "your data".
A deletion cannot be fired blind
A 15-minute token from the preview must be echoed back, so nothing stale can start one.
Thirty days to change your mind
With reminder emails on a gated cadence and a cancel that leaves no trace of the request.
Erasure removes the person, not the history
Identity overwritten, actions retained with the actor pseudonymised.
A privacy request has a paper trail
Who asked, for whom, which sections, how many rows — recorded as evidence.
The gap is published, not hidden
A whole-workspace portable archive does not exist yet, and this page says so.
'Why are handover signatures excluded from the export?', 'a' => 'Because a captured signature identifies the person who signed — usually a customer, driver or custodian rather than a system user — and is stored against the movement rather than against a user account. It cannot be attributed to a particular user automatically, and exporting them into one person\'s file would disclose other people\'s signatures. The exclusion is stated inside the export file itself, along with where those signatures do live (on the individual stock receipt, asset movement, transfer, count session, till sale, refund or ticket, served only through that module\'s permission-gated route) and how to act on a request about a specific one. A privacy export that silently omits a category is worse than one that omits it loudly, because only the second can be checked.'], ['q' => 'What does erasing a user actually do?', 'a' => 'It removes the identity and keeps the history. Name, email, phone, country, photograph, social identity and MFA secret are overwritten, the password is replaced with a random one, sessions and API tokens are destroyed, role assignments are removed, and the actor name and email recorded on that person\'s audit entries are replaced with pseudonyms. So what happened remains answerable while who did it is no longer identifiable. An audit trail that could be emptied by an erasure request would not be an audit trail, and an organisation relying on one would have lost it exactly when it mattered. An erased user can never be restored from the recovery centre — that is the recovery centre honouring the erasure rather than quietly undoing it.'], ['q' => 'What does the deletion impact preview show me?', 'a' => 'Real counts, not estimates. It walks the tenant-scoped tables in your workspace and counts the actual rows in each, filtering out the tables holding nothing so the list you read is the list that exists, and labelling each group as cascade cleanup or direct cleanup — the distinction between rows that go with the workspace through a database relationship and rows that need removing explicitly. It separately counts file references across nineteen columns that hold stored paths, names the four storage directories belonging to the workspace in full, counts users and vendors separately as sanity-check figures, counts system log rows narrowly so the figure means one thing, and lists any blockers. If the blocker list is non-empty, no confirmation token is issued and the deletion cannot be started at all.'], ['q' => 'Can somebody delete our whole organization by accident?', 'a' => 'It is made deliberately hard in three ways. First, it needs a permission specific to deleting the organization, not merely being an administrator. Second, the impact preview mints a token that lasts fifteen minutes and the deletion request must echo it back — so a deletion cannot be requested by anything that did not just look at what it would do, which rules out a stale form, a bookmarked URL or a script written against the endpoint last month. Third, the request is scheduled thirty days out rather than executed, with reminder emails and a cancel available throughout. And if the environment is mid-migration and the deletion machinery is not fully in place, the endpoint refuses with that as the stated reason rather than proceeding with an incomplete understanding of what it would remove.'], ['q' => 'How long is the grace period, and can we cancel?', 'a' => 'Thirty days, with the exact scheduled date and time calculated rather than described, and yes — cancellable at any point during it. Cancelling ends the request entirely: nothing was removed, nothing needs restoring, and the workspace carries on as though it had never been asked. Reminder emails go out during the period on their own gated cadence, at most once a day, subject to the same notification settings as everything else so they cannot become a stream. The workspace also can never appear in its own recovery centre, specifically so a deletion cannot be reversed by the thing being deleted.'], ['q' => 'What happens after the thirty days?', 'a' => 'A queued job removes the rows, explicitly clears the tables that need direct cleanup, and deletes the four storage directories that belong to the workspace. After that there is nothing to recover — not in the recovery centre, not anywhere. That is what the preview, the token and the grace period exist to make sure you meant.'], ]" />
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.
Demo booking
Book a focused AWRA demo
Share a few details so we can send the confirmation email and route your request to the right AWRA team.
1
Request received AWRA has your demo context and contact details.
2
Check your email We send confirmation and follow-up from the AWRA team.
3
Book calendar slot Pick a time for a focused workflow walkthrough.
We use necessary cookies for secure sessions. With your permission, we also use cookies and browser storage for preferences, analytics, and demo engagement. Privacy Policy
AWRA OpsHub
Cookie settings
Cookie Consent Manager
Necessary cookies stay on for login, CSRF protection, and security. You can choose the optional categories below.
Overview
General Information
AWRA uses cookies and browser storage to keep public pages secure, remember selected preferences, measure website performance, and manage demo engagement prompts.
You can choose whether functional and marketing engagement storage apply. Analytics measurement is always active in this AWRA setup.
These settings apply to AWRA public website experiences such as the homepage, feature pages, pricing calculator, blog, help center, and request-demo page. Authenticated dashboard and vendor portal sessions still rely on required security cookies.
Required
Always active
Functional
Optional
Analytics
Always active
Marketing
Optional
For more context on privacy handling, open the Privacy Policy.
Required Cookies
Required Cookies
Always Active
Required cookies and storage support basic website delivery, secure sessions, request protection, and remembering the consent choice itself.
These cannot be switched off from this manager because disabling them would break login/session behavior, form protection, or the ability to remember the privacy choice you save.
Cookie details
Session security: keeps secure server sessions working while browsing AWRA.
CSRF protection: helps verify form submissions and protect requests.
Consent record: stores the preference decision so the banner does not keep asking after a choice is saved.
Examples: Laravel session cookies, CSRF tokens, and the AWRA consent preference record.
Duration: session security can expire with the browser/session; saved consent can last longer so the same browser remembers the choice.
Functional Cookies
Functional Cookies
Functional storage improves the public website experience by remembering interface choices, helper states, dismissed notices, and short-lived interaction preferences.
Turning this off does not stop secure required cookies or analytics. It only limits optional convenience memory.
If disabled, AWRA may show some helper prompts again or forget non-essential display choices. Core public pages, contact forms, and request-demo forms still work.
Cookie details
UI preferences: remembered display choices and helper states where available.
Dismissed notices: session-level or preference-level memory for notices the visitor has closed.
Frequency helpers: optional browser storage that prevents repeated prompts when allowed.
Examples: localStorage or sessionStorage values for dismissed banners, guide/helper states, and lightweight public-page preferences.
Effect when off: AWRA avoids optional convenience memory unless it is also allowed through marketing and engagement preferences.
Analytics Cookies
Analytics Cookies
Always Active
Analytics helps AWRA understand public page performance, traffic patterns, and content usefulness so we can improve the marketing website.
This category does not by itself enable demo popups, exit-intent prompts, or advertising pixels. Those are controlled by Marketing & engagement.
In this AWRA setup, Google Analytics and Google Tag Manager measurement are treated as mandatory website measurement and remain active.
Cookie details
Google Analytics / GTM: measures aggregate traffic and page activity.
Performance insight: helps identify which public pages, docs, and demo paths visitors use.
Operational signal: supports website quality decisions without enabling demo popups by itself.
Examples: Google measurement identifiers such as GA/GTM tags and related browser identifiers set by Google scripts.
Use: page views, source/referrer trends, public content performance, and product education page effectiveness.
Marketing & engagement
Marketing & engagement
Marketing and engagement storage supports demo prompts, exit-intent prompts, campaign attribution, and future advertising pixels.
When disabled, AWRA will not auto-open demo or exit-intent popups. CTA buttons can still open a form because that is a direct visitor action.
When enabled, AWRA can remember that a visitor already saw, dismissed, or submitted a demo prompt so the same popup is not repeated aggressively.
Cookie details
Demo prompt memory: tracks whether an auto prompt or exit prompt was recently dismissed.
Demo submission memory: avoids asking again after a visitor submits a demo request.
Campaign context: keeps source page, referrer, and UTM context available for demo requests.
Examples: popup frequency caps, demo-submitted flags, engagement source fields, and UTM/referrer context.
Effect when off: auto demo prompts and exit-intent prompts stay blocked; normal navigation and manually clicked CTA buttons still work.