MemoWho is a mobile application for iOS and Android (the "App") that helps a user remember people they have met. It is designed to be private: entries are stored on the user's own device, there is no MemoWho account, and there is no MemoWho server. The App is developed and operated by Adam Bridges, an independent developer (the "developer"), who never receives, sees, or stores a user's entries.

This Privacy Policy describes how personal information is handled in connection with the App. It is prepared with reference to Canada's Personal Information Protection and Electronic Documents Act (PIPEDA) and its ten fair information principles, and to Quebec's Act respecting the protection of personal information in the private sector. Because the App may be used by individuals outside Canada, this Policy also addresses relevant obligations under the UK and EU General Data Protection Regulation and applicable United States state privacy laws, set out in section 15.

Summary of data flows
Device onlyEntries, recent searches, and settingsEverything a user records, including where they met someone. Never transmitted to the developer. See section 2.
Device onlyNearby alerts, if turned onOff by default. Arrival at a saved place is detected by the phone's operating system; location is not sent anywhere for this feature. See section 3.
TransmittedLocation and address lookups, to Apple or GoogleCoordinates or address text only, never entries. See section 6.
TransmittedAddress suggestions, to Google PlacesText typed in the "Location met" field. See section 6.
TransmittedCrash diagnostics, to Firebase CrashlyticsTechnical information sent automatically if the App crashes. See section 7.
User's choiceBackups and exportsTo a folder the user picks, on the device or in a storage service such as iCloud Drive or Google Drive. Not accessible to the developer. See section 8.

1. Accountable individual

Adam Bridges is accountable for compliance with this Policy and with applicable privacy law, including for personal information transferred to third-party service providers for processing on his behalf. He is also the person in charge of the protection of personal information for the purposes of Quebec privacy law. Inquiries, requests, and complaints concerning this Policy should be directed to the contact provided in section 18.

2. Information stored in the App

Everything a user enters is stored only on their device, in the App's private storage area. This consists of:

  • Entries — for each person: a name; whether the connection is professional or casual; the context of the meeting; where and when they met; notes; and any descriptive details the user chooses to record.
  • Location coordinates for each entry's "Location met". These are derived from the address the user enters, as described in section 6, and are used for maps and for nearby alerts. They are not displayed or edited directly.
  • Recent searches — the last five searches made within the App.
  • Settings — including backup and nearby-alert preferences.

No other app can read this storage. The App does not require an account, sign-in, or registration. Information recorded by one user is not accessible to other users, and the App does not maintain any index or directory linking entries across devices or users.

The App contains no analytics, advertising, or tracking. Personal information is not sold, rented, or shared with anyone. Apart from the crash diagnostics described in section 7, the developer does not collect information about how the App is used.

3. Location and nearby alerts

The App can use device location for three purposes, each of which is optional:

  • Suggesting where the user is when they add an entry. Location is read while the App is in use, and converted to an address as described in section 6.
  • Nearby alerts, which notify the user when they are within 100 metres of a place where they met someone.
  • The "Met near here" list, available while nearby alerts are on, which shows entries met near the user's current location.

Nearby alerts are off unless the user turns them on in the App's Settings. When they are on, the App uses location, including when the App is closed or not in use. The places to watch are registered with the phone's operating system, which informs the App when the user arrives at one; the notification is then created on the phone. The App does not send the user's location anywhere to provide nearby alerts or the "Met near here" list; both are worked out on the device.

A user may turn nearby alerts off at any time in the App's Settings, or withdraw location access through device settings — under Settings → Privacy & Security → Location Services on iOS, or Settings → Location → App location permissions on Android. Withdrawing access does not remove the location already saved with an existing entry.

4. Permissions

The App requests the following operating-system permissions, each only when the related feature is used:

  • Location (while using the App) — to suggest the user's location when adding an entry, and for the "Met near here" list.
  • Location (always / all the time) — only if the user turns on nearby alerts.
  • Notifications — only if the user turns on nearby alerts.
  • Files and folders — only when the user exports, imports, or chooses a backup folder.

Every permission is optional. The App works without them; only the related feature becomes unavailable.

5. Purposes and consent

Personal information is handled within the App for the purpose of allowing a user to record, find, and be reminded of their own notes about people they have met. Location is used for the purposes in section 3; lookups for the purposes in section 6; crash diagnostics for the purpose in section 7; and backups for the purpose in section 8.

Consent for location, notifications, and file access is obtained through the operating system's permission prompt when the related feature is first used, and nearby alerts additionally require the user to turn them on. The transmissions described in section 6 occur only when the user uses the specific feature concerned. Crash diagnostics are sent without a separate consent step because they are necessary to maintain the App; see section 7.

6. Information that leaves the device

Apart from crash diagnostics (section 7) and backups the user chooses to make (section 8), information leaves the device only in the following cases, each of which happens because the user used a specific feature. Entries themselves are never sent.

Converting between locations and addresses

When a user adds an entry, the App can suggest where they are. To do so, it reads the current location and asks the phone's built-in location service to convert it into a street address. When an entry is saved, the App asks the same service for the coordinates of the address entered. Only the coordinates or the address text are sent. On iOS this service is provided by Apple, under the Apple Privacy Policy; on Android, by Google, under the Google Privacy Policy.

Address suggestions

As a user types in the "Location met" field, the text typed is sent to the Google Places API, part of Google Maps Platform, to suggest matching addresses. When the user picks a suggestion, Google returns that place's address and coordinates. As with any internet request, Google also receives the device's IP address. Use of this feature is subject to the Google Privacy Policy, the Google Terms of Service, and the Google Maps Additional Terms of Service, which are incorporated into this Policy by reference.

A user who does not want to use this service may type the full address without picking a suggestion. The typed address is still converted to coordinates as described above.

Opening a location in maps

When a user taps an entry's location, the App passes that address, and its coordinates if known, to the user's maps app. That app's own privacy policy applies.

7. Crash diagnostics

The App uses Firebase Crashlytics, a service provided by Google, to receive diagnostic reports when the App crashes. Google processes this information on the developer's behalf, as a service provider, under the Firebase Data Processing and Security Terms.

A crash report may include:

  • a technical stack trace indicating where the fault occurred
  • the device model, operating system version, and device state at the time of the crash
  • the App version and build number
  • a randomly generated Crashlytics installation identifier, used to distinguish separate installations affected by the same fault
  • the IP address associated with the connection at the time the report is sent

Crashlytics relies on Google's Firebase sessions component, which records that the App was launched and in use in order to calculate crash rates.

Crash reports do not include entries, recent searches, any location recorded or used by the App, or a user's name or email address. This information is not used to construct a profile of any individual, is not used for advertising, and is not sold. Google Analytics is not enabled within the App.

The current version of the App does not provide an in-app control to disable crash reporting. Crash diagnostics are the primary means by which the developer becomes aware of technical faults, as the App does not otherwise collect usage or analytics data. A user who wishes to object to this processing may do so as described in sections 13 and 15.

8. Backups and export

The App does not operate a cloud storage service. A backup or export is created only at the user's choice, and the user determines its destination.

Export to file. Saves a copy of the user's entries to a location the user picks.

Automatic backup. Keeps a single backup file up to date in a folder the user picks once. The folder may be on the device, or in a storage service such as iCloud Drive or Google Drive made available through the phone's file picker. Where a cloud storage service is chosen, that service holds the file under its own terms and privacy policy. The App never signs in to any service on the user's behalf, and the developer has no access to backup or export files.

Encryption. A user may encrypt backups with a passphrase. The passphrase itself is never stored or sent anywhere. A key derived from it is kept in the device's secure keychain so that automatic backups can continue to be encrypted. The developer has no ability to decrypt an encrypted backup and no mechanism to recover a lost passphrase; if the passphrase is forgotten, encrypted backups cannot be recovered. A backup or export created without a passphrase is an unencrypted file.

Independently of these features, a device's own backup system — for example, iCloud Backup or Android's automatic backup — may copy application data to a user's account according to device-level settings not controlled by the App.

9. Processing outside Canada

The lookups described in section 6 and the crash diagnostics described in section 7 may be processed by Apple or Google on infrastructure located outside Canada, including in the United States. While there, this information is subject to the laws of those jurisdictions and may be accessible to courts, law enforcement, and national security authorities under those laws. For crash diagnostics, where the developer uses Google as a service provider, comparable protection is maintained through the Firebase Data Processing and Security Terms. Where personal data is transferred from the UK or EEA in this context, that transfer relies on the European Commission's Standard Contractual Clauses.

10. Information about other people

Entries describe people a user has met. A user should record only what they would be comfortable with those people knowing they wrote, and treat the App and any backups with the same care as any personal notes about others.

In Canada, information handled by an individual for personal purposes and not in connection with a commercial activity generally falls outside PIPEDA's application. A similar exemption exists in the UK and EU for purely personal or household activity. Neither exemption extends to use of the App in a professional, commercial, or employment-related context, and a user who uses the App for such purposes assumes responsibility for that information, including anything backed up or exported under section 8.

The developer has no access to any user's stored entries and cannot respond to requests from other people concerning information a user may have recorded about them.

11. Safeguards

Information recorded within the App is stored in the operating system's private storage area for the App, which is isolated from other applications and protected by the device's passcode, Face ID, or fingerprint authentication. The key used for encrypted backups is held in the device's secure keychain. Data sent to the services described in sections 6 and 7 is encrypted in transit.

Maintaining a device passcode or biometric lock, keeping the operating system current, and encrypting backups under section 8 are safeguards within the user's control. No method of electronic storage or transmission can be guaranteed to be completely secure.

12. Retention and deletion

Because information is on the user's device, the user can view and edit all of it within the App. It is retained until the user deletes it. Uninstalling the App deletes everything it stored on the device. Backup and export files belong to the user and remain wherever they were saved until the user deletes them.

The developer does not hold this information and accordingly cannot access, correct, retain, or delete it on a user's behalf.

Crash traces and their associated identifiers are retained by Crashlytics for 90 days before deletion.

13. Access, correction, and complaints

Under PIPEDA, an individual has the right to be informed of the existence, use, and disclosure of personal information held about them, to request access to it, and to challenge its accuracy. The only personal information held by the developer, as distinct from information stored on a user's own device, is crash diagnostic data described in section 7, associated with a randomly generated installation identifier rather than with an identified individual.

A request concerning crash diagnostic data may be submitted using the contact details in section 18. Because the associated identifier is not linked to an identified individual, a request should include the approximate date and time of the relevant crash and the device model, to permit the record to be located. Where a record cannot reasonably be linked to the individual making the request, the developer may be unable to act on that request.

An individual may also direct a complaint regarding compliance with PIPEDA to the Office of the Privacy Commissioner of Canada at priv.gc.ca, or, in Quebec, to the Commission d'accès à l'information at cai.gouv.qc.ca.

14. Breach notification

PIPEDA requires an organization to report to the Office of the Privacy Commissioner of Canada, and to notify affected individuals, of any breach of security safeguards involving personal information under its control where it is reasonable to conclude that the breach creates a real risk of significant harm to an individual. PIPEDA further requires that a record be kept of every such breach, regardless of whether that threshold is met, for a minimum of 24 months. Quebec law imposes comparable obligations for confidentiality incidents that present a risk of serious injury. These obligations apply to the developer's handling of the information described in this Policy and are followed in accordance with the applicable law.

15. Additional jurisdictions

United Kingdom and European Union

For crash diagnostics processed under the UK GDPR or EU GDPR, the developer relies on legitimate interests under Article 6(1)(f) as the legal basis for processing, on the basis that this processing is limited to technical fault diagnosis, does not involve information described in section 2, and is not used to identify or profile an individual. An individual has the right to object to this processing under Article 21 by contacting the developer as set out in section 18. No special category data within the meaning of Article 9 is transmitted to the developer.

A complaint may also be directed to the Information Commissioner's Office at ico.org.uk, or to the supervisory authority in the individual's EU member state.

United States

In the preceding twelve months, the developer has collected one category of personal information within the meaning of applicable US state privacy laws: internet or electronic network activity information, consisting of crash diagnostics. This information is collected from a user's device, used solely to diagnose and address technical faults, and disclosed only to Google as a service provider. Location information and entries remain on the user's device and are not collected by the developer. Lookups described in section 6 are sent by the device directly to Apple or Google and are not received by the developer.

Personal information is not sold, and is not shared for purposes of cross-context behavioural advertising. A resident of an applicable state may request access to or deletion of the information described in this section using the contact details in section 18.

16. Children

The App is intended for users aged 16 and over and is not directed to children under 16. The developer does not knowingly collect personal information from children under 16. A person who believes a child under 16 has provided personal information to the developer may contact the developer using the details in section 18 so that it can be deleted.

17. Changes to this Policy

If the App's handling of information changes, this Policy will be updated and the effective date at the top revised. Any change that sends more information off the device will also be explained within the App before it takes effect.

18. Contact

Questions, requests, or complaints concerning this Policy or the handling of personal information in connection with the App may be directed to:

Adam Bridges
memowho@adambridges.ca