Legal
Privacy Policy
How Appsanic collects, uses, stores, secures and discloses your personal information under the Privacy Act 1988 (Cth), principle by principle.
Who we are and our role
This Privacy Policy explains how Appsanic (we, us or our) collects, uses, stores, secures and discloses your personal information when you visit appsanic.com, create an account, use the Appsanic workspace, connect a service to a project, test an app on your phone, pay for a plan or communicate with us.
Appsanic is the product and trading name of Encode Digital Software Solutions Pty Ltd (ACN 690 774 719), a company registered in New South Wales, Australia. In this policy, references to Appsanic are references to that company. Our contact details are at the end of this policy and on the contact page.
Appsanic is a web workspace for building mobile apps for iOS and Android. It includes Sanic AI, an AI app engineer offered in Lite, Core and Pro tiers; a visual editor; a code workspace for real TypeScript and React Native code; connectors to services you choose; templates; a browser preview; phone testing through Expo Go; and release checks. In this policy, the service means the website and the workspace together. Signed builds, store submission, GitHub sync and export of a standalone native project are not yet available, and this policy does not cover them.
For the personal information we handle about you, Appsanic is the entity responsible under this policy, and we apply the Australian Privacy Principles (APPs) in Schedule 1 of the Privacy Act 1988 (Cth) (the Privacy Act) to all of it. The service providers we engage handle your information under their terms with us, which include commitments to protect it and limits on how they may use it. Our payment provider also handles the billing details you give it as a service in its own right, for example to prevent fraud, under its own privacy policy. We remain accountable to you for how a provider handles the personal information we disclose to it.
In this policy, a service provider is a third party we engage to process personal information on our behalf so that we can deliver the service. Services you connect to a project yourself, and the Expo account you use for phone testing, are not our service providers; they act under their own terms, as the disclosure section explains. This policy is read together with our Terms of Service and our Cookie Policy, and the security page describes our safeguards in more detail.
Where applicable to users outside Australia, we also have regard to the General Data Protection Regulation (GDPR), the UK GDPR and the California Consumer Privacy Act as amended by the California Privacy Rights Act (CCPA). This policy follows the order of the APPs so that you and regulators can match each practice to the principle it answers. It is our privacy policy for the purposes of APP 1, it is available free of charge on our website, and we will provide a copy in another form on request where that is reasonable.
Anonymity and pseudonymity (APP 2)
Where it is lawful and practicable, you may deal with us anonymously or under a pseudonym.
- You can browse our public website, the documentation, the pricing page and these legal pages without creating an account or telling us who you are. Those pages set no Appsanic cookie and load no third-party script.
- You can type an app idea into the composer on the home page or the Sanic AI page before you create an account. The idea stays in your own browser tab until you sign in and continue, and the public page sends nothing to our servers.
- You can write to contact@appsanic.com from any address you choose.
It is not practicable for us to deal with you anonymously for the core service. We need a verified email address to authenticate you, secure your account, recover access, send service notices and meet billing and tax obligations. There is no display name, profile or avatar in the service, so the email address is the only personal identifier an account carries. Paid plans also require billing details, which you enter on our payment provider’s own pages.
What we collect (APP 3)
We collect only the personal information we reasonably need to provide, secure, support and bill for the service. The list below sets out each category we handle, what it contains and why we collect it.
- Account
- Your email address, the user identifier and the account creation and email confirmation timestamps held by our sign-in service (Supabase Auth), your personal workspace and its owner membership record, and a billing summary. Your password passes through our server to the sign-in service, which stores and checks it; Appsanic never stores a password, keeps no password history and never writes one to a log or sends one back in a response. We collect no name, display name, avatar, phone number or postal address. Collected for registration, sign-in, identity verification, account recovery and service notices.
- Billing records
- Our payment provider’s customer and subscription identifiers, your plan, the catalogue version you bought under, the paid-until date, subscription status and whether the account is held for review; orders (offer, price, credits, identifiers, status and any refunded amount); credit grants, reservations, allocations and the credit ledger; invoice snapshots; a record of each payment event holding only an event label and a checksum, kept so that each event is applied once; reconciliation evidence; plan-change quotes and receipts; and refund audit rows. We hold no card number, card brand, last four digits or expiry date; your billing name and address are held by the payment provider. Collected for taking payment, metering credits, reconciliation, refunds and disputes, fraud prevention, and Australian record-keeping and tax obligations.
- Projects
- Each project’s document: its name, pages, components, theme, app settings (including store-listing drafts and any support email address, phone number or website you type into them), connector configuration containing public details only, embedded image snapshots and source files; its revision history, edit and archive receipts, archived state and created and updated dates. Collected to deliver the workspace, preserve your history and apply a retried save only once.
- Sanic AI conversations
- Conversations are saved with their project: your messages, Sanic AI’s narration, summaries of the tools it used, build plans, questions and answers, applied checkpoints, the project brief you keep for Sanic AI (up to 6,000 characters, saved with the conversation state and sent with each request), the name, kind and reference of each attachment (never the media itself), prompts asking you to connect a service and, when Design review is on, screenshots of your app. Source code, tool inputs and the authority used to apply changes are never kept in the conversation record, and recognised keys are redacted. Collected so that a conversation can continue and its history can be reopened.
- Sanic AI job records and usage
- Each hosted Sanic AI request is recorded as a job: the validated request and its context snapshot, ordered progress events, private resume snapshots that are discarded when the job ends, and, for each attempt, token counts, the credit ceiling reserved, state and reported cost. Confirmed usage by day and project appears on the dashboard Usage page. Collected to run and resume requests reliably, meter credits and account for provider usage.
- Files
- Images you upload to Assets (PNG, JPEG, WebP and GIF), with their file name, type, size, checksum and state, kept in private storage in an account-wide library shared by your projects. HTTPS image, video and audio links you add are stored as references only. The asset library never downloads them and Sanic AI is not given their contents; the one server-side read is during Design review, when the capture worker fetches up to 16 public image links from your project, within fixed size limits, to render your app for screenshots. Collected so that your apps and previews can use them.
- Phone testing
- The username of the Expo account you connect, stored in clear, and its personal access token (the Expo token), stored encrypted per project and never shown again; session records (a packaged copy of the saved project revision, start time, state, setup logs and minutes used); and reports from each phone running the preview, for up to four devices per session: a temporary device identifier that exists only for that running app, the platform, the applied revision, a heartbeat, console output (up to 200 retained entries), captured errors with shortened stack traces, and whether the app is in the background. Collected to run the session, apply your plan’s preview allowance and show device feedback in the editor.
- Connector details
- The public details of each service you connect: a project address, a publishable or search-only key, a public app identifier or error-reporting address (DSN), and the connection’s name and environment. The editor refuses secret keys, service keys and recognised private-key formats, so Appsanic stores no customer secrets and no OAuth tokens. Collected to compile the details into your app, run read-only connection checks and give Sanic AI the connection’s key-free details (provider, name, environment, address, identifiers and capabilities).
- Communications
- Emails you send to contact@appsanic.com, including support requests, privacy requests and security reports. There is no contact form; the contact and security pages open your own email app. Collected to respond to you.
- Usage and operational data
- Sanic AI usage records (model tier, token counts and cost by UTC day and project), phone-testing session time, the storage your files use measured against your plan’s allowance, billing and credit records, and short-lived rate-limit counters keyed by a hash of your account or email address. Failure diagnostics for a Sanic AI request record only the provider request identifier, the phase, the HTTP status, a local error code and the attempt number. We run no product analytics and do not record which features you use. Collected for metering, billing, reliability, security and abuse prevention.
- Cookies, browser storage and request metadata
- Three Appsanic cookies (appsanic_access, appsanic_refresh and appsanic_recovery), one local storage key and two session storage keys, described in our Cookie Policy. Request metadata such as your IP address and browser user agent is processed transiently by our hosting and sign-in providers to answer each request and may appear in their standard logs; Appsanic’s own code records neither. Collected to keep you signed in, complete a password reset, remember your interface theme, return you from checkout and carry an idea from the public site into the editor.
We collect personal information by lawful and fair means, and only where it is reasonably necessary for one or more of our functions or activities. We do not collect sensitive information (as defined in the Privacy Act) as a routine part of the service. Please do not enter sensitive information into prompts, project content, uploaded images or an app’s console output unless it is genuinely required, because that content reaches our AI model provider, your conversation history or phone-testing reports.
If you choose to include sensitive information in content you give us, we rely on your consent to collect and handle it for the purposes in this policy. You can withdraw that consent by deleting the content, the conversation or the project; withdrawal does not affect handling that has already taken place. If content you give us includes personal information about other people, for example the people whose details an app prints to its console during a test, you are responsible for having the right to give it to us, and we handle it as this policy describes.
How we collect and the notice we give (APP 3 and APP 5)
We collect personal information:
- Directly from you, when you create an account, send us an email, describe an app, type settings into a project, upload a file, enter connector details or otherwise use the service.
- From your browser, through the cookies described in our Cookie Policy, the idea you carry from the public composer into the editor, and the request metadata that every web request carries.
- From our payment provider, limited to the signed events it sends us and read-only access to the checkout, subscription, invoice and charge records for your purchases, from which we keep only the validated fields listed above. We never receive card details.
- From Expo, when you connect an Expo account for phone testing: we verify the token you enter and read the username, and nothing more.
- From the services you connect, in two bounded cases. During a read-only connection check, our inspection endpoint reads at most the service’s public settings or one public record, checks it and discards it. For Supabase, when Sanic AI inspects the connection, it reads the names of permitted tables, columns and functions and includes them in that request to our AI model provider. Neither case reads accounts, orders or database rows.
- From your phone during a phone-testing session, through the device reports described above.
This policy is the notice we give you at or before the time we collect your personal information (APP 5). It sets out who we are and how to contact us, the kinds of information we collect, how and from whom we collect it, the purposes of collection, the laws that require us to keep billing records, the service providers and overseas recipients to which we usually disclose information, how to access and correct your information, and how to complain. The sign-up form points to this policy before an account is created.
If you do not give us an email address that you can verify, we cannot create an account for you. If you do not give our payment provider billing details, we cannot sell you a paid plan. If you choose not to connect a service or an Expo account, the features that depend on them are unavailable, and the rest of the service keeps working. Keeping billing records is required by Australian tax law and by section 286 of the Corporations Act 2001 (Cth).
How we use your information (APP 6)
We use your personal information for the primary purpose of providing the service, and for directly related secondary purposes you would reasonably expect. In particular, we use it to:
- Provide, operate and maintain the service, and improve it using what we learn from support requests and operational records, since we run no product analytics.
- Authenticate you and keep your account secure.
- Run Sanic AI so that it can plan, write, review and check your app at your request, as the next section describes.
- Compile and serve your app for the browser preview and for phone testing.
- Process subscription payments and top-up purchases, meter credit use and phone-testing time, reconcile provider charges and meet our Australian tax and record-keeping obligations.
- Send the automated emails the service needs: email verification, sign-in links, password resets, account action confirmation codes, email change confirmations and password-changed notices.
- Respond to your emails and provide support.
- Tell you about material changes to the service or to this policy by email to the address on your account or by a notice in the service, and about changes to our Terms of Service by email, as the Terms describe.
- Detect, investigate and prevent fraud, abuse, security incidents and misuse of the service.
- Comply with our legal obligations, respond to lawful requests and enforce our Terms of Service, including the acceptable use rules they contain.
We do not sell your personal information or share it for cross-context behavioural advertising, so there is no sale or sharing for you to opt out of, and we do not use the content of your prompts, projects or code to train any AI model.
How Sanic AI processes your information
Sanic AI’s Lite, Core and Pro tiers run on commercial large language models from our AI model provider in the United States. When you send a request, a serverless function on our website host accepts it, our database in Sydney records it as a job, the AI workflow on our worker host in Singapore runs it, and that workflow calls our AI model provider’s API in the United States. Apart from storage in Sydney, no part of a Sanic AI request is processed in Australia.
Each request sends our AI model provider what the work needs: your messages; images you attach from Assets, decoded, stripped of metadata, resized and limited to the first frame (linked media is sent as a reference only and is never fetched); your project brief; bounded recent context from the same conversation only; the current page and selection; your project’s pages, settings, theme and file names; the files Sanic AI opens and searches; generated type declarations for the app’s SDK; connector metadata without keys (provider, name, environment, address, identifiers and capabilities, and for Supabase the permitted schema metadata); compiler diagnostics; and, when Design review is on, screenshots of your app.
Our AI model provider keeps a prompt cache for about five minutes after each call so that a continuing request can reuse it. Beyond that cache, how long the provider keeps a request is set by its commercial terms with us rather than by this policy; those terms do not permit training on your data, and you can ask us what they say about retention by emailing contact@appsanic.com.
Sanic AI never receives the keys you enter in connectors, which are withheld from its context and removed from tool results; the key we use with our AI model provider; your Expo token; database or payment credentials; messages from your other conversations; or edits you make in the editor while a request is running. When a request needs a service you have not connected, Sanic AI asks you to connect it in the editor, never in chat. Recognised credential formats that are pasted into chat or a brief, or found in files, are redacted as a safety net; that redaction is not a universal secret detector and does not read text inside images, so please do not paste secrets.
Sanic AI has no web search or web fetch tool. Its tools read and edit your project, inspect connected services as metadata, validate the result and run preview checks. Apart from reading package metadata from the public npm registry when a library is prepared, contacting a connected service with its public details when Sanic AI inspects it, and the Design review reads described under disclosure, none of them sends your content anywhere other than our AI model provider. Appsanic trains no model on customer content, and our requests to the AI model provider are made under commercial API terms that do not permit the provider to train on the data.
If a request fails, our diagnostics record only the provider request identifier, the phase, the HTTP status, a local error code and the attempt number, never prompts, code, reasoning or secrets. The security page describes these boundaries in more detail.
Sanic AI requires an active paid plan and available credits. Stopping a request cancels future work, but a provider request already sent still consumes credits, and closing your browser does not cancel a hosted request. Credit metering, platform spend caps and billing freezes are described under automated decision-making below.
Direct marketing and the Spam Act 2003 (APP 7)
Every email Appsanic sends today is transactional: the automated messages the service needs (email verification codes, sign-in links, password resets, account action confirmation codes, email change confirmations and password-changed notices), which our sign-in service sends as Appsanic from noreply@appsanic.com, and replies to emails you send us, which come from contact@appsanic.com. The automated sender is not a support mailbox; replies to it are not monitored. Each message names Appsanic as the sender; to reach us about any message, email contact@appsanic.com. You cannot opt out of the automated messages while you hold an account.
Appsanic itself sends no billing email. Invoices for paid plans are issued by our payment provider and are available in its billing portal, opened from the dashboard Billing page.
We do not send product updates, newsletters or marketing email, we keep no waitlist or mailing list, and we do not sell or rent your contact details to anyone for their own marketing. If we ever introduce marketing email, we will do so only in accordance with the Spam Act 2003 (Cth): with your consent, identifying us as the sender, and with a functional unsubscribe facility in every message. You will also be able to opt out at any time, and to ask where we obtained your contact details, by emailing contact@appsanic.com.
Disclosure and our service providers (APP 6)
We share personal information with service providers that help us run the service, under their terms with us, which include data protection obligations. We list them here so that you and regulators can see who we rely on, what each provider does, what information it handles and where it operates. The providers we rely on today, by role, are:
- Database, authentication and file storage (Supabase, Sydney, Australia)
- Holds the sign-in service’s user records and credentials, your workspace, projects, conversations, Sanic AI job records, uploaded files in private storage, billing records, connector public details and your encrypted Expo token. Hosted in a single project in Sydney, with encrypted connections enforced.
- Website and serverless functions (Netlify, served worldwide with a United States primary region)
- Serves the public site, sign-in, dashboard and editor and runs the server functions behind them. Those functions handle every request to the service, including its content, transiently, together with request metadata and your session cookies, and forward your actions to the database. It never runs Sanic AI, package installation or your app’s code.
- Workers and phone-testing runners (Render, Singapore)
- Runs the control worker, progress gateway, compiler, maintenance job, the Sanic AI, library and Design review workflows, and one isolated phone-testing runner per session. Processes prompts, conversation context, project files, packaged projects, compiled bundles and screenshots while a request or session runs.
- Our AI model provider (United States)
- Our only AI model provider; we use no other model provider for the service. Receives the content listed in the Sanic AI section under commercial API terms that do not permit training on the data.
- Our payment provider (United States)
- Runs checkout and the billing portal on its own pages, manages subscriptions and issues invoices. From us it receives your workspace identifier, the price you chose and request metadata; from you it receives your email address, billing name, address and card details, which never reach Appsanic. We verify payment from its signed events and read-only record reads. Plans, prices, credits, taxes and refunds are described on the pricing page and in our Terms of Service.
- Our email delivery provider (United States)
- Delivers the automated emails our sign-in service sends. It receives the recipient address and the message content.
This list is updated when a provider is added, removed or changed, and the Last updated date at the top of this policy changes with it. If you need more detail about a provider’s role, the information it receives or the contractual protections that apply, email contact@appsanic.com.
Beyond these providers, your information reaches a third party only when you act. Each of the following may be located outside Australia and handles what it receives under its own terms and privacy policy, which you should read before using it:
- Expo, when you connect an Expo account for phone testing (we send the token to Expo to verify it and read the username), when a session’s runner starts Expo’s tooling with that token, and when Expo Go on your phone loads the preview. Expo acts under its own terms.
- The services you connect to a project (Supabase, WordPress, Shopify, RevenueCat, OneSignal, Algolia or Sentry), under your own accounts with those services. During a connection check, our inspection endpoint contacts the service with the public details you entered; your published app talks to each service directly without passing through Appsanic.
- The public npm registry, when a library is prepared for your project: package metadata and archives are read, and no personal information is sent.
- Public image hosts and catalogue font sources that the Design review workflow reads, within fixed bounds, so that it can render your app for screenshots.
Information that reaches these third parties is sent at your direction. They are not engaged by us to process your personal information on our behalf, and they act only when you connect a service, start a phone-testing session, add a library or turn on Design review. Each connector is described in the documentation.
GitHub, Expo’s build and submission service, Apple and Google are not recipients of your information through Appsanic. GitHub sync, signed builds and store submission are not available, and signing and submission happen in your own developer accounts outside Appsanic.
We may also use or disclose personal information where this is required or authorised by or under an Australian law or a court or tribunal order, for example a valid subpoena or a regulator’s compulsory notice; where we reasonably believe it is necessary to lessen or prevent a serious threat to the life, health or safety of any individual or to public health or safety; where we reasonably suspect unlawful activity or serious misconduct relating to our functions and the use or disclosure is necessary to take appropriate action; and where it is reasonably necessary for the enforcement related activities of an enforcement body.
If Appsanic is acquired by or merges with another entity, personal information may be transferred as part of that transaction. A prospective buyer sees it during due diligence only under confidentiality obligations, and we will notify you before your personal information becomes subject to a materially different privacy policy. We do not share personal information in any other situation.
Overseas disclosure (APP 8)
Some of our service providers are located outside Australia. Before disclosing your personal information to an overseas recipient, we take reasonable steps to ensure the recipient handles it in a way consistent with the APPs, principally through each provider’s terms with us.
Your personal information may be stored or processed in:
- Australia (Sydney): the sign-in service, the database and file storage. Your account, projects, conversations, files and billing records are stored here.
- Singapore: the control, compiler, AI, library, Design review, progress and maintenance workers and the phone-testing runners. Prompts, project files, compiled bundles and screenshots are processed here while a request or session runs.
- United States: our AI model provider (prompts and context), our payment provider (billing details), our email delivery provider (addresses and message content) and our website host, whose primary region is in the United States and whose functions handle every request to the service, including its content, transiently.
- Any other country where Expo, or a service you connect to a project, is located. You direct those disclosures yourself when you connect an account or a service, and that provider’s terms govern them.
We store no personal information in the European Union and run no services there. Our website host’s global edge network answers a request from a location near the visitor, so the request metadata for a page view may pass through an edge location in your own region before it reaches our servers. Where you are an individual in the European Union, the United Kingdom or California, additional protections may apply under the GDPR, the UK GDPR or the CCPA respectively, and you can ask us about the transfer mechanisms we rely on by emailing contact@appsanic.com.
Government related identifiers (APP 9)
We do not adopt a government related identifier (such as a tax file number, Medicare number or driver licence number) as our own means of identifying you, and we do not use or disclose such identifiers except where permitted by law. We collect no identity documents. We do not collect a tax or business identifier (such as an ABN) at checkout; checkout collects a billing address and any tax that applies is calculated and shown by our payment provider before you confirm. If you add a tax identifier to your billing details in our payment provider’s portal, it is held by the provider, not by Appsanic.
Keeping your information accurate (APP 10)
We take reasonable steps to ensure the personal information we collect is accurate, up to date and complete, and that the information we use or disclose is, having regard to its purpose, accurate, up to date, complete and relevant.
You can change your email address and password from the dashboard Account page. An email change is confirmed from the new inbox and from the current inbox, and your account keeps working under the old address until both have confirmed. Project content, connector details and app settings are yours to edit in the editor at any time. Billing name and address are changed in our payment provider’s billing portal, opened from the dashboard Billing page. For anything else, ask us to correct it as described under your rights below. Please keep your email address current so that security and service notices reach you.
How we protect your information (APP 11)
We take reasonable steps, including technical and organisational measures, to protect your personal information from misuse, interference and loss, and from unauthorised access, modification or disclosure. The safeguards in use today include:
- Sign-in runs through Appsanic’s server to the sign-in service; passwords of at least 12 characters are required and are never stored, logged or echoed by Appsanic; a new account works only after its email address is confirmed; and sign-in, sign-up and password reset links act only after you press Continue securely, so an email scanner that opens one cannot use it.
- Sessions are kept in HttpOnly cookies, sent only over HTTPS with SameSite=Lax, so scripts on a page cannot read them. Signing out ends the session at the sign-in service as well as in your browser. Changing your password signs out your other devices, and finishing a password reset signs out every session.
- A password reset uses a separate encrypted proof that lasts at most 15 minutes and can only set a new password; it grants no access to the dashboard, billing or projects.
- Changes to your account and projects are accepted only from requests that originate from appsanic.com, and sign-in attempts, emails, deletions, exports and other actions are rate limited for each account or address.
- Row-level security is enabled on every database table; on every request the server checks, from your verified sign-in, that you own the workspace, and the database rechecks ownership before it saves a change. Ciphertext and internal receipts are not readable by signed-in users. Our own server components use a service role that row-level security does not restrict; every database function they call rechecks that the workspace belongs to you on each call.
- Every change to a project passes through one validated transaction, carries a revision number so that a stale edit stops instead of overwriting newer work, and is applied once if retried.
- Uploaded files are decoded and checked on the server and kept in private storage; uploads use a signed capability that expires after two hours and downloads use links that expire after one minute. Your browser receives no database key.
- Connectors accept public details only, and the editor refuses secret keys, so no customer secrets are held for your apps.
- Financial and deletion records, including the credit ledger, invoice snapshots, payment event records, reconciliation evidence and deletion requests, are kept server-side and readable only by our service role, and invoice snapshots cannot be changed once written.
- Your Expo token and the password-recovery proof are encrypted with AES-256-GCM under a versioned key held only on our website host. The key we use with our AI model provider stays with the AI workflow on our worker host and never reaches your browser, our website host or other services.
- The compiler reads your code as text and never runs it. The browser preview runs your compiled app in a frame with its own opaque origin that can run scripts and nothing more, and Design review renders your app in a sandboxed browser on our servers with network access blocked apart from bounded reads of approved public images and fonts.
- The service is served only over HTTPS, browsers are told to keep using HTTPS for appsanic.com for a year, pages refuse to load inside other sites, and account and project responses are marked private and not to be stored.
- Appsanic loads no third-party scripts, tags or analytics, pins its own dependencies through lockfiles and checks every change to its code against known security advisories.
A fuller description, written for readers who are not security specialists, is on the security page. No online service can guarantee perfect security. Despite our precautions, sophisticated attacks, newly discovered vulnerabilities or incidents affecting our service providers may occur, and parts of the service rely on third-party infrastructure whose security is outside our direct control. We do not hold a formal security certification such as SOC 2 or ISO 27001, and we do not claim one. Nothing in this section limits our obligations under APP 11, our accountability for the overseas recipients to which we disclose your information, or the guarantees the Australian Consumer Law gives you, which cannot be excluded.
You are responsible for protecting your own password, the Expo token and public connector details you supply, the QR address of a phone-testing session (anyone who has it can load the temporary app until the session ends), and the devices you use to access the service. That responsibility covers what is in your hands; it does not make you responsible for a failure in our own systems or those of our providers.
How long we keep your information (APP 11)
We retain personal information only for as long as we need it for the purposes described in this policy, or as required by law, and then we delete or de-identify it.
- Account, project, conversation and file data are kept while your account is active and are removed when you delete your account, as described under your rights below. Deletion is queued and processed by a maintenance job that runs every five minutes; cleanup waits for pending provider charges and reserved credits to settle, and files are erased after their upload capabilities expire.
- A project you delete is removed by the same maintenance job. Files in your Assets library stay in your account until you delete them or your account. An archived project keeps its data, history and conversations until you restore or delete it.
- Project history keeps the last 100 undo steps and the last 100 activity entries in checkpoints; older journal entries are compacted.
- Sanic AI conversations are kept with their project and deleted with it. Sanic AI job records, including the request and context snapshot each job was given, are kept while the project exists so that a request can be resumed, metered and reconciled, and are deleted with the project or the account; before removal, each job’s token counts and reconciliation evidence are copied into the financial records described below. The private resume snapshots inside a job are discarded as soon as it ends.
- Design review screenshots saved in a conversation stay with it within a fixed size budget, older ones being removed first, and are deleted with the project.
- Compiled bundles and other temporary artefacts are kept in private storage and removed by maintenance when they expire; cleanup records expire after 24 hours, and unfinished uploads are reclaimed after a further 24 hours.
- Each phone-testing session is recorded with your project: its state, the packaged copy of the saved revision, setup logs and the last device reports, including console output, stay with the project’s release history until you delete the project or your account. The session’s runner is deleted when the session ends.
- Your Expo connection, that is the username and the encrypted token, is kept until you disconnect it or delete the project or your account.
- Emails you send to contact@appsanic.com are kept for as long as we need them to handle the matter and any follow-up, and to keep a record of our correspondence with you.
- Rate-limit counters are hashed, stop applying when their window ends (at most one hour) and are removed from the database within about two days.
- Request logs kept by our hosting and sign-in providers, which may include your IP address and browser user agent, follow those providers’ own retention schedules; Appsanic keeps no request log of its own.
- Session cookies expire as described in our Cookie Policy, and signing out, changing a password or deleting your account ends them earlier.
- Financial records survive account deletion: billing transactions and the credit ledger, invoice snapshots, provider usage evidence (token counts and reconciliations per job, not prompts), our payment provider’s customer and subscription identifiers, the deletion request record with its timestamps, which no longer identifies you once deletion completes, and a workspace record that keeps no owner and is labelled Deleted account. These are kept to reconcile charges, resolve disputes and meet Australian record-keeping and tax obligations, which require tax records to be kept for at least five years and company financial records for seven years under section 286 of the Corporations Act 2001 (Cth).
We do not promise backups of your data. Where our database provider keeps one, it does not include your stored files or encryption keys, a copy of deleted data may remain in it until it rotates on the provider’s schedule, and it is not a substitute for your own copies. Please keep your own exports of anything important to you, as described under your rights below.
Your rights (APP 12 and APP 13)
Under the Australian Privacy Principles, and where applicable the GDPR, the UK GDPR and the CCPA, you have the following rights.
- Access (APP 12). You can ask for access to the personal information we hold about you. You can also use the exports described below to download most of your data yourself.
- Correction (APP 13). You can ask us to correct personal information that is inaccurate, out of date, incomplete, irrelevant or misleading, and you can change your email address and password yourself from the dashboard Account page.
- Deletion. You can delete your account yourself from the dashboard Account page by typing the account’s email address to confirm. An account with a current subscription or a pending checkout cannot be deleted until the subscription has ended and the payment has finished: cancelling a plan from Billing keeps it active until the end of the period you have paid for, so deletion becomes available from that date, and a pending checkout must first be completed or left to expire. There is no email confirmation step and no cooling-off period: you can create a new account, including one with the same email address, as soon as the queued deletion has removed your sign-in record. You can also delete a single project from the dashboard by typing DELETE.
- What deletion does. Deletion is queued and irreversible: access is disabled and your session cookies are cleared at once, running Sanic AI work is stopped, your Expo connection is revoked, and your projects, code, conversations, files, encrypted credentials, workspace membership and sign-in record are removed as described under retention. The financial records listed under retention survive deletion.
- Export and portability. From the dashboard Account page you can download an account index as JSON: your account identifier and email address, up to 1,000 projects with their identifiers, revisions, dates and archived state, and up to 1,000 file records with their name, type, size and state. From the dashboard you can also export any project as JSON: its current document, which includes the app’s source files, settings and public connector configuration; its conversation state; and its connection metadata. Original files are downloaded from Assets through links that expire after one minute. Exports never include credentials, and they are limited to 30 per hour. An export is not a standalone native project.
- Objection and withdrawing consent. You can object to certain uses of your information and withdraw consent where we rely on it, for example by removing a connector from a project, disconnecting your Expo account, deleting a conversation or project, or deleting your account. Withdrawing consent does not affect processing that took place before withdrawal, and some processing is necessary to keep providing the service.
- Sessions. There is no list of signed-in devices. Signing out ends the current session, changing your password signs out every other device, and completing a password reset signs out every session.
If the GDPR or the UK GDPR applies to you, we are the controller of the personal information described in this policy, and our legal bases are: performance of our contract with you (providing the service and billing for it); compliance with our legal obligations (tax and company records, and lawful requests); our legitimate interests in keeping the service secure, preventing abuse and fraud, and managing capacity; and your consent where you choose to include sensitive information in content you give us. You also have the right to restrict processing in the circumstances the GDPR sets out, and the right to lodge a complaint with your local supervisory authority or, in the United Kingdom, with the Information Commissioner’s Office.
To exercise any right you cannot exercise yourself, email contact@appsanic.com. We aim to respond to privacy requests within 30 days, consistent with APP 12 and APP 13, and we give access in the form you ask for where that is reasonable and practicable. We do not charge for making a request, for the exports described above or for correcting information. If giving access to information outside those exports would take unusual effort, we may charge a reasonable amount to cover the work, never more, and we will tell you before we start. We may need to verify your identity before acting on a request, for example by writing to the email address on the account.
In limited cases the Privacy Act permits us to decline access or correction. If we decline, we will tell you in writing why, and how you can complain. If we decline to correct information, you can ask us to attach a statement to it saying that you believe it is inaccurate, out of date, incomplete, irrelevant or misleading, and we will take reasonable steps to do so. If we correct information that we have disclosed to a service provider, we will take reasonable steps to tell that provider about the correction if you ask us to.
Cookies and browser storage
Appsanic sets three cookies, all of them necessary to run the service: appsanic_access and appsanic_refresh keep you signed in, and appsanic_recovery exists for at most 15 minutes during a password reset. All three are HttpOnly, sent only over HTTPS and limited to appsanic.com. The public website sets no Appsanic cookie, and there is no cookie banner because nothing non-essential is stored.
The workspace also keeps one value in your browser’s local storage (your light or dark interface theme) and two values in session storage (a marker that returns you to the right account after checkout, and an idea typed on the public site that is carried into the editor after you sign in). The theme and the checkout marker hold no app content and are never sent to a server. The idea draft holds what you typed on the public site; after you sign in and create or open a project for it, it is read once and saved into a Sanic AI conversation in that project, where it is sent as a request if your plan allows Sanic AI and otherwise waits for you to send it. Once sent, it reaches our servers and our AI model provider like any other request. The draft is then removed from session storage.
We use no advertising, analytics or cross-site tracking cookies, and no third-party scripts or tags load on the site. Checkout, the billing portal and Expo’s pages run on those providers’ own domains, where they may set their own cookies under their own policies. For the full list, including each cookie’s name, purpose and lifetime, see our Cookie Policy.
Children
Appsanic is not directed to children under 16, and we do not knowingly collect personal information from children under 16. The service does not ask for your age or verify it; by creating an account you confirm that you are at least 16 years old. If you believe a child has provided us with personal information, please email contact@appsanic.com and we will delete it promptly, and close any account created with it.
Automated decision-making and AI transparency
Sanic AI generates content, such as source code, build plans, screens and Design review notes, from the inputs you provide. These outputs are probabilistic: the model predicts likely useful content from your prompts and project context, and it can be incomplete or incorrect. Every change it proposes is validated and compile-checked before it reaches your project, but you should review and test what it produces before relying on it or publishing it.
We do not use solely automated processing to make decisions about you that produce legal effects concerning you or that significantly affect you in a similar way. The operational automations in the service are credit metering and reservations, rate limits, platform spend caps that pause Sanic AI dispatch when the platform’s daily or monthly budget is reached (so a request can be declined for capacity even when your account has credits), and billing freezes that hold an account for human review after a subscription refund, a payment dispute or a usage overrun. An operator reconciles a frozen account before it is unfrozen, and no one is charged automatically for an overrun. You can contact us to query any outcome.
- Information these programs use
- Your account identifier and email address, your plan and billing records, your credit grants, reservations and ledger, Sanic AI usage records, phone-testing session records and hashed rate-limit counters.
- Decisions made solely by a program
- Declining a sign-in, sign-up, password reset, Sanic AI request, phone-testing session or checkout while a rate limit, a platform spend cap or a capacity limit is in force; reserving, deducting and expiring credits according to your plan and the published tariff; ending paid features when a paid period finishes without a verified renewal; and freezing an account for human review after a subscription refund, a payment dispute or a usage overrun.
- Decisions a person makes
- Whether to unfreeze an account, whether to grant a refund, and any decision to restrict or close an account under our Terms of Service. No program charges you more than the price shown, and you can contact us to query any outcome.
We give this description to meet APP 1.7 of the Privacy Act, which applies from 10 December 2026.
Data breaches and the Notifiable Data Breaches scheme
Appsanic follows the Notifiable Data Breaches scheme in Part IIIC of the Privacy Act. If we suspect that personal information we hold has been lost, or accessed or disclosed without authorisation, we will assess within 30 days whether the incident is an eligible data breach, that is, one likely to result in serious harm to any of the people the information is about that we cannot prevent with remedial action.
If it is, we will notify the Office of the Australian Information Commissioner (OAIC) and the people affected as soon as practicable, with our identity and contact details, a description of the incident, the kinds of information involved and the steps we recommend you take. If we cannot reach you directly, we will publish the statement on our website. Where a service provider that holds your information for us suffers an eligible data breach, we will make sure that you are notified, by it or by us. Notices go to the email address on your account, which is one reason to keep it current.
If you believe you have found a security vulnerability in Appsanic, please write to contact@appsanic.com with the subject “Appsanic security report”, test only against your own account and projects, and never in a way that disrupts other people. The security page explains how to report a concern.
Complaints (APP 1)
If you believe we have breached the APPs or mishandled your personal information, please contact us first by emailing contact@appsanic.com. Complaining costs nothing, and we will not treat you differently because you have complained. We aim to acknowledge your complaint promptly, to investigate it and to respond within 30 days, which is the period the OAIC expects you to allow us before it considers a complaint.
If you are not satisfied with our response, you may lodge a complaint with the OAIC, which considers complaints about organisations covered by the Privacy Act:
- Online
- The privacy complaint form on the OAIC website, oaic.gov.au. The OAIC accepts complaints in writing only.
- Phone
- 1300 363 992 (enquiries)
- Post
- GPO Box 5288, Sydney NSW 2001
The OAIC generally expects you to have complained to us first and to have allowed us 30 days to respond.
Changes to this policy
We may update this policy from time to time, including when a feature, provider or location changes. Where a change is material, we will notify you by email to the address on your account or by a prominent notice in the service at least 14 days before it takes effect, except where a change is needed sooner to comply with law or to address a security risk, in which case we will notify you as soon as we can.
If you do not accept a change, you can export your data and delete your account before it takes effect. The Last updated date at the top of this policy always reflects the current version. This version took effect on 6 November 2026 and replaces every earlier version.
Contact us
For any privacy matter, including access, correction, deletion, export, objection or a complaint, email contact@appsanic.com. This address handles all privacy, security, billing and legal correspondence, and electronic notice to it is our preferred method of notice. A postal address is available on request. Please leave passwords, keys and other people’s private information out of your message. Privacy requests and complaints are handled by the person responsible for privacy at Appsanic, who can be reached at the same address.
Appsanic is the product and trading name of Encode Digital Software Solutions Pty Ltd (ACN 690 774 719), registered in New South Wales, Australia. For general support and other ways to reach us, see the contact page.
