Information Security Policy

Information Security Program · Version 1.0 · Effective 4 September 2026 · themassis.com

This is the comprehensive written information security program of themassis, approved by senior management. It is designed to meet or exceed the control objectives of the AICPA Trust Services Criteria for Security, NIST SP 800-53 / NIST CSF, and ISO/IEC 27002, and to satisfy the FTC Safeguards Rule (16 CFR Part 314), the Plaid Master Services Agreement, and the Plaid Developer Policy. The signed PDF is the diligence copy: information-security-policy.pdf.

1. Purpose and policy statement

themassis splits Shopify payouts, drafts balanced QuickBooks Online journal entries through a clearing account, and holds exceptions for human review. A merchant may optionally connect a bank account through Plaid so deposits can be matched. Nothing risky posts without an authorized accountant's approval.

This program protects the confidentiality, integrity, and availability of information we own or process — including Plaid End User Data, Shopify payouts, QuickBooks tokens, credentials, and workpapers — against unauthorized access, use, disclosure, alteration, destruction, or loss.

Senior management commits: we will not collect bank login credentials; we will not sell customer data; we will not use customer books to train unrelated models or to advertise; we will notify Plaid of a Security Breach within 12 hours; we will dispose of data under the Data Retention and Disposal Policy. There is no unwritten exception to these rules.

2. Scope

Applies to all systems, personnel, contractors, and subprocessors that handle company or customer information, including:

3. Roles

Senior management approves the program. A Qualified Individual oversees and enforces it (FTC Safeguards Rule § 314.4(a)). themassis retains responsibility even if a provider assists.

Merchants view their own store and cannot post. Accountants review and post for assigned clients. There is no standing product-admin role with blanket access to all ledgers. Support access is ticket-scoped, logged, and revoked when the ticket closes.

4. Risk assessment

A written risk assessment covers reasonably foreseeable risks to customer information (token theft, unauthorized posting, insider access, vendor failure, ransomware, insecure disposal). It is reviewed at least annually, after a Security Breach, and after a material change (including production Plaid access). Controls that cannot be operated as written are incidents, not silent exceptions.

5. Data classification

ClassExamplesHandling
RestrictedPlaid access tokens and item ids; Shopify/QBO OAuth tokens; password hashes; encryption keys; Plaid and Stripe secretsEncrypt at rest and in transit. Never log, email, or commit. Runtime and named break-glass only.
Confidential — financialPayouts, journal lines, mappings, exceptions, Plaid transactions used to match deposits, posting audit logsTLS; tenant and role isolation; no marketing or resale; dispose on schedule.
Confidential — personalEmail, name, store domain, support mail, auth IPsNeed-to-know; deletion and access rights honored.

6. Plaid, bank feeds, and End User Data

6.1 Never collected

6.2 What we may store

After Plaid Link, we exchange a public_token server-side for an access_token and item_id. Those values, plus the selected account id, are stored encrypted at rest (Fernet: AES with HMAC, key from the production secret). The Plaid client_id and secret live in the secrets store, not in source control, the browser, or logs. Transaction data is requested only for the deposit account(s) you selected, and only in the window needed to match payouts. We do not pull unrelated accounts.

6.3 Use limitation

6.4 Disconnect

On disconnect, account closure, or irreparable item error, within 24 hours we: (a) call Plaid item/remove (or successor); (b) delete encrypted tokens and cached bank payloads from the primary store; (c) cease new pulls. Backups expire on the retention schedule and are not restored into production except for disaster recovery under legal hold.

6.5 Plaid Account Information

Dashboard credentials, client_id, and secret are not published or shared except with Authorized Users who have a need. Production Plaid is used only for Shopify payout reconciliation to QuickBooks. Security events are reported to security@plaid.com within 12 hours of becoming aware of a Security Breach, as defined in the Plaid MSA.

7. Shopify and QuickBooks

Connected via OAuth 2.0. Tokens encrypted at rest, never returned to the browser. Scopes limited to payout/settlement read and journal write. Journals post only after an authorized accountant approves. Disconnect revokes and deletes tokens within 24 hours.

8. Access control

9. Encryption and keys

In transit: TLS 1.2+ with a public CA; no plaintext HTTP for tokens or End User Data. At rest: Fernet for tokens; cloud AES-256 (or equivalent) for volumes, objects, and backups. Application keys are unique per environment, not in git, rotated at least annually and on suspected compromise or personnel change. Mock/dev keys never hold production End User Data.

10. Application and network

11. Logging and audit

We log authentication, connect/disconnect, token-refresh failures, payout processing, approve/reject/post, and privileged access. Logs include time, actor, tenant, and action — not secrets. Posting audit logs are kept 7 years. Time is UTC.

12. Vulnerabilities and testing

Reports: security@themassis.com. Before production Plaid access and at least annually thereafter, themassis will obtain an independent penetration test or equivalent assessment, remediate critical and high findings, and retain the executive summary for partner diligence. This page does not claim SOC 2 or ISO 27001 unless a current report is linked here.

13. Secure development

Production secrets are not committed. Mock mode is the default locally and uses synthetic data. Money uses exact decimals; journals must balance before they are ready to post. Changes to auth, encryption, Plaid, or posting require review. Tests covering merchant-cannot-post and token encryption are required for those areas.

14. Vendors

PartyRoleData
ShopifyPayout source you connectPayout components; OAuth tokens
Intuit QuickBooks OnlineLedger you connectChart of accounts; approved journals; OAuth tokens
PlaidOptional bank feedLink session; access_token / item_id; selected-account transactions
StripeSubscription billingEmail, plan, Stripe ids. Cards stay with Stripe.
Cloud / emailHost app, database, backups, mailApplication data and logs under this policy

Vendors that receive End User Data or tokens are contracted, reviewed before onboarding and at least annually, and held to security and disposal terms no weaker than this program. themassis remains responsible for subprocessors.

15. Personnel, physical, acceptable use

Access to Confidential or Restricted data requires confidentiality, training, and same-day removal on exit. Customer data is not copied to personal email, unsanctioned drives, or unapproved AI tools. Production physical security is provided by the cloud operator. Paper with Confidential data is shredded. Accessing another merchant's data or capturing bank credentials is a Security Incident.

16. Incident response

A Security Incident is any attempted or successful unauthorized access, use, disclosure, modification, or destruction of themassis information or systems, or any event that reasonably could lead there. A Security Breach is an incident that results in, or is reasonably likely to have resulted in, unauthorized access to or acquisition of End User Data, tokens, or other Confidential or Restricted customer information.

17. Continuity and backups

Backups are encrypted, access-restricted, and restore-tested at least annually. Deleted customer data expires from backups within 90 days unless a legal hold applies. Restore must not reintroduce unbalanced journals or live tokens that should have been revoked.

18. Retention and disposal

Incorporated: Data Retention and Disposal Policy. Informal retention is a policy violation.

19. Customer responsibilities

Keep credentials secret, use unique users, connect only accounts you control, review drafts before posting, disconnect unused integrations, and report compromise to security@themassis.com.

20. Exceptions, enforcement, review

Exceptions require written approval, duration, compensating controls, and a record. There is no standing exception for storing bank credentials, selling data, skipping breach notice, or indefinite retention. Reviewed at least annually. Prior versions retained 7 years.

21. Contact

Incidents and vulnerabilities: security@themassis.com
Privacy: privacy@themassis.com
Support: support@themassis.com
Plaid notice address: security@plaid.com
themassis · themassis.com