diff --git a/src/_data/main-nav.yml b/src/_data/main-nav.yml index 32173235e45..7f6026ba662 100644 --- a/src/_data/main-nav.yml +++ b/src/_data/main-nav.yml @@ -196,6 +196,10 @@ - label: Checkout url: /howdoi/checkout/checkout_overview.html + - label: Compliance + url: /compliance/industry-compliance.html + versionless: true + - label: Inventory Management url: /inventory/index.html exclude_versions: ['2.0', '2.1', '2.2'] diff --git a/src/_data/toc/compliance.yml b/src/_data/toc/compliance.yml new file mode 100644 index 00000000000..25ac7b64093 --- /dev/null +++ b/src/_data/toc/compliance.yml @@ -0,0 +1,26 @@ +label: Compliance +pages: + - label: Industry Compliance + url: /compliance/industry-compliance.html + versionless: true + children: + + - label: Privacy Regulations + + children: + + - label: CCPA + versionless: true + url: /compliance/privacy/ccpa.html + + - label: GDPR + versionless: true + url: /compliance/privacy/gdpr.html + + - label: PI Reference (M2.x) + versionless: true + url: /compliance/privacy/pi-data-reference-m2.html + + - label: PI Reference (M1.x) + versionless: true + url: /compliance/privacy/pi-data-reference-m1.html diff --git a/src/compliance/industry-compliance.md b/src/compliance/industry-compliance.md new file mode 100644 index 00000000000..a74502f0b29 --- /dev/null +++ b/src/compliance/industry-compliance.md @@ -0,0 +1,11 @@ +--- +group: compliance +title: Industry Compliance +--- + +Merchants are obligated to meet industry guidelines for maintaining a secure environment, legal requirements in their jurisdiction, and best practices for online commerce. To learn more from a business perspective, see the [Industry Compliance](https://docs.magento.com/m2/ee/user_guide/stores/compliance-industry.html) section in the _Magento User Guide_. + +This compliance documentation provides the technical information to ensure that Magento Commerce installations comply with the requirements of specific privacy legislation. Some of these requirements require merchants to complete additional development work to achieve compliance. See the following topics for details: + +- [California Consumer Privacy Act (CCPA)]({% link compliance/privacy/ccpa.md %}) +- [General Data Protection Regulation (GDPR)]({% link compliance/privacy/gdpr.md %}) diff --git a/src/guides/v2.2/architecture/gdpr/backend-data-access-points.svg b/src/compliance/privacy/backend-data-access-points.svg similarity index 100% rename from src/guides/v2.2/architecture/gdpr/backend-data-access-points.svg rename to src/compliance/privacy/backend-data-access-points.svg diff --git a/src/guides/v2.2/architecture/gdpr/backend-data-entry-points.svg b/src/compliance/privacy/backend-data-entry-points.svg similarity index 100% rename from src/guides/v2.2/architecture/gdpr/backend-data-entry-points.svg rename to src/compliance/privacy/backend-data-entry-points.svg diff --git a/src/compliance/privacy/ccpa.md b/src/compliance/privacy/ccpa.md new file mode 100644 index 00000000000..6c652610407 --- /dev/null +++ b/src/compliance/privacy/ccpa.md @@ -0,0 +1,46 @@ +--- +group: compliance +title: California Consumer Privacy Act +--- + +{:.bs-callout-info} +This is one in a series of topics to help Magento merchants and developers understand the implications of the California Consumer Privacy Act (CCPA). The information is intended for informational purposes only and should not be construed as legal advice. Consult with your legal counsel to determine whether and how your business should comply with any legal obligations. + +The [California Consumer Privacy Act][1] (CCPA) expands the rights of consumers in California to determine how their personal information is collected, stored, and used, with an emphasis on protecting consumers from the unauthorized sale or exchange or their personal information. The CCPA was enacted in 2018 and is effective as of January 1, 2020. + +The CCPA grants the following new rights to consumers: + +- **Right to know** the categories of personal information about them that was collected, used, shared, or sold in the past 12 months. +- **Right to delete** certain types of personal information that is held by a business and/or their service provider(s). +- **Right to opt out** of the sale of their personal information. +- **Right to non-discrimination** in terms of price or service for having exercised a privacy right under CCPA. + +## CCPA Compliance Guide + +Developing and implementing a CCPA compliance plan requires a coordinated effort. We encourage merchants to assemble a cross-functional team, and follow the roadmap outlined in [CCPA Compliance Guide][2] to bring their company into compliance with the regulation. As a developer, you might be invited to participate as a stakeholder with an emphasis on steps 2 - 5 of the process. See the [CCPA Compliance Guide][2] for more information. + +1. Assemble a cross-functional team to address CCPA compliance. + +1. **Take inventory of digital properties.** + +1. **Map the customer journey and data collection processes.** + +1. **Establish procedures and mechanisms to respond to customer requests.** + +1. **Write the content for the required CCPA customer notifications.** + +1. Review agreements with service providers. + +1. Update the privacy policy. + +1. Document all CCPA-related procedures and maintain records. + +## Personal Information Reference + +For technical information, see the data flow diagrams and database entity mappings in the Personal Information Reference that applies to each version of Magento that you support. + +- [Personal Information Reference (Magento 2.x)]({% link compliance/privacy/pi-data-reference-m2.md %}) +- [Personal Information Reference (Magento 1.x)]({% link compliance/privacy/pi-data-reference-m1.md %}) + +[1]: https://oag.ca.gov/privacy/ccpa +[2]: https://docs.magento.com/m2/ee/user_guide/stores/compliance-ccpa-guide.html diff --git a/src/guides/v2.2/architecture/gdpr/frontend-data-access-points.svg b/src/compliance/privacy/frontend-data-access-points.svg similarity index 100% rename from src/guides/v2.2/architecture/gdpr/frontend-data-access-points.svg rename to src/compliance/privacy/frontend-data-access-points.svg diff --git a/src/guides/v2.2/architecture/gdpr/frontend-data-entry-points.svg b/src/compliance/privacy/frontend-data-entry-points.svg similarity index 100% rename from src/guides/v2.2/architecture/gdpr/frontend-data-entry-points.svg rename to src/compliance/privacy/frontend-data-entry-points.svg diff --git a/src/compliance/privacy/gdpr.md b/src/compliance/privacy/gdpr.md new file mode 100644 index 00000000000..6aff7565e4f --- /dev/null +++ b/src/compliance/privacy/gdpr.md @@ -0,0 +1,31 @@ +--- +group: compliance +title: General Data Protection Regulation +redirect_from: + - /guides/v2.3/architecture/gdpr/magento-2x.html + - /guides/v2.3/architecture/gdpr/magento-1x.html + - /guides/v2.2/architecture/gdpr/magento-2x.html + - /guides/v2.2/architecture/gdpr/magento-1x.html +--- + +{: .bs-callout-info} +This is one in a series of topics to help Magento merchants and developers understand the implications of the General Data Protection Regulation (GDPR). The information is intended for informational purposes only and should not be construed as legal advice. Consult with your legal counsel to determine whether and how your business should comply with any legal obligations. + +The European Union (EU) enacted [General Data Protection Regulation](https://ec.europa.eu/info/law/law-topic/data-protection_en) (GDPR) to give its citizens more control over their personal data. GDPR applies to any organization operating within the EU. It also applies to organizations outside of the EU that offer goods or services to customers or businesses in the EU. + +System integrators can use the data flow diagrams and database information in the Personal Information Reference to build scripts to resolve use cases similar to the following: + +- A shopper asks for a copy of the data the merchant has stored about her +- A shopper requests that all information about him be deleted + +## Personal Information Reference + +For technical information, see the data flow diagrams and database entity mappings in the Personal Information Reference that applies to each version of Magento that you support. + +- [Personal Information Reference (Magento 2.x)]({% link compliance/privacy/pi-data-reference-m2.md %}) +- [Personal Information Reference Magento 1.x)]({% link compliance/privacy/pi-data-reference-m1.md %}) + +For more information about how Magento helps merchants comply with GDPR, see the following: + +- [GDPR Compliance](https://docs.magento.com/m2/ee/user_guide/stores/compliance-gdpr.html) +- [Magento is Ready for GDPR](https://magento.com/gdpr) diff --git a/src/guides/v2.2/architecture/gdpr/magento-1x.md b/src/compliance/privacy/pi-data-reference-m1.md similarity index 83% rename from src/guides/v2.2/architecture/gdpr/magento-1x.md rename to src/compliance/privacy/pi-data-reference-m1.md index 2a37b467e89..c63ee39bc20 100644 --- a/src/guides/v2.2/architecture/gdpr/magento-1x.md +++ b/src/compliance/privacy/pi-data-reference-m1.md @@ -1,21 +1,19 @@ --- -group: architecture-guide +group: compliance +title: Personal Information Reference (Magento 1.x) --- -# General Data Protection Regulation +{: .bs-callout-info} +This is one in a series of topics to help Magento merchants and developers prepare for compliance with privacy regulations. Consult with your legal counsel to determine whether and how your business should comply with any legal obligations. -The European Union (EU) enacted [General Data Protection Regulation](https://www.eugdpr.org/) (GDPR) to give its citizens more control over their personal data. GDPR applies to any organization operating within the EU. It also applies to organizations outside of the EU that offer goods or services to customers or businesses in the EU. +Use the following data flow diagrams and database entity mappings for reference when developing compliance programs for privacy regulations such as: -We are publishing this compliance information to help our merchants and their system integrators with GDPR compliance. A system integrator can use the data flow diagrams and database information to build scripts to resolve use cases similar to the following: - -* A shopper asks for a copy of the data the merchant has stored about her -* A shopper requests that all information about him be deleted - -See the corporate [Magento website](https://magento.com/gdpr) for more information about how Magento helps merchants comply with GDPR. +- [GDPR]({% link compliance/privacy/gdpr.md %}) +- [CCPA]({% link compliance/privacy/ccpa.md %}) ## Dataflow diagrams -The data flow diagrams show the types of data that customers and administrators can enter and retrieve on the storefront and in Admin. +The data flow diagrams show the types of data that customers and administrators can enter and retrieve on the storefront and Admin. ### Frontend data entry points @@ -31,7 +29,7 @@ Magento loads customer information when the customer logs in and views several d ### Backend data entry points -A merchant can enter customer, address, and payment information when using Admin to create a customer or order. +A merchant can enter customer, address, and payment information from the Admin to create a customer or order. ![Backend data entry points](backend-data-entry-points.svg) @@ -274,26 +272,26 @@ Table | Column | Data type Other tables that reference Customer: -* `catalog_compare_item` -* `downloadable_link_purchased` -* `enterprise_customerbalance` -* `enterprise_customersegment_customer` -* `enterprise_giftregistry_entity` -* `enterprise_reminder_rule_log` -* `enterprise_reward` -* `log_customer` -* `log_visitor_online` -* `oauth_token` -* `product_alert_price` -* `product_alert_stock` -* `report_compared_product_index` -* `report_viewed_product_index` -* `review_detail` -* `sales_billing_agreement` -* `sales_flat_shipment` -* `sales_recurring_profile` -* `salesrule_coupon_usage` -* `salesrule_customer` -* `tag` -* `tag_relation` -* `wishlist` \ No newline at end of file +- `catalog_compare_item` +- `downloadable_link_purchased` +- `enterprise_customerbalance` +- `enterprise_customersegment_customer` +- `enterprise_giftregistry_entity` +- `enterprise_reminder_rule_log` +- `enterprise_reward` +- `log_customer` +- `log_visitor_online` +- `oauth_token` +- `product_alert_price` +- `product_alert_stock` +- `report_compared_product_index` +- `report_viewed_product_index` +- `review_detail` +- `sales_billing_agreement` +- `sales_flat_shipment` +- `sales_recurring_profile` +- `salesrule_coupon_usage` +- `salesrule_customer` +- `tag` +- `tag_relation` +- `wishlist` diff --git a/src/compliance/privacy/pi-data-reference-m2.md b/src/compliance/privacy/pi-data-reference-m2.md new file mode 100644 index 00000000000..4c01ab480eb --- /dev/null +++ b/src/compliance/privacy/pi-data-reference-m2.md @@ -0,0 +1,327 @@ +--- +group: compliance +title: Personal Information Reference (Magento 2.x) +--- + +{: .bs-callout-info} +This is one in a series of topics to help Magento merchants and developers prepare for compliance with privacy regulations. Consult with your legal counsel to determine whether and how your business should comply with any legal obligations. + +Use the following data flow diagrams and database entity mappings for reference when developing compliance programs for privacy regulations such as: + +- [GDPR]({% link compliance/privacy/gdpr.md %}) +- [CCPA]({% link compliance/privacy/ccpa.md %}) + +## Data flow diagrams + +The data flow diagrams show the types of data that customers and administrators can enter and retrieve from the storefront and Admin. + +### Frontend data entry points + +A user can enter customer, address, and payment information when registering for an account, during checkout, and similar events. + +![Frontend data entry points](frontend-data-entry-points.svg) + +### Frontend data access points + +Magento loads customer information when the customer logs in and views several different pages, or checks out. + +![Frontend data access points](frontend-data-access-points.svg) + +### Backend data entry points + +A merchant can enter customer information, address data, and payment data when creating a customer or order from the Admin. + +![Backend data entry points](backend-data-entry-points.svg) + +### Backend data access points + +Magento loads customer information when a merchant views several types of grids, clicks on a grid to see detailed information, and performs various other tasks. + +![Backend data access points](backend-data-access-points.svg) + +## Database entities + +Magento 2 primarily stores customer-specific information in customer, address, order, quote, and payment tables. Other tables contain references to the customer ID. + +### Customer data {#customer-data} + +Magento 2 stores the following customer attributes: + +- Date of Birth +- Email +- First Name +- Gender +- Last Name +- Middle Name/Initial +- Name Prefix +- Name Suffix + +#### `customer_entity` and 'customer_entity' references + +The following columns in the `customer_entity` table contain customer information: + +| Column | Data type | +| ------------ | ------------ | +| `email` | varchar(255) | +| `prefix` | varchar(40) | +| `firstname` | varchar(255) | +| `middlename` | varchar(255) | +| `lastname` | varchar(255) | +| `suffix` | varchar(40) | +| `dob` | date | +| `gender` | smallint(5) | + +These tables reference `customer_entity` and can contain custom customer attributes: + +| Table | Column | Data type | +| -------------------------- | ------- | ------------- | +| `customer_entity_datetime` | `value` | datetime | +| `customer_entity_decimal` | `value` | decimal(12,4) | +| `customer_entity_int` | `value` | int(11) | +| `customer_entity_text` | `value` | text | +| `customer_entity_varchar` | `value` | varchar(255) | + +#### `customer_grid_flat` table + +The following columns in the `customer_grid_flat` table contain customer information: + +| Column | Data type | +| -------------------- | ------------ | +| `name` | text | +| `email` | varchar(255) | +| `dob` | date | +| `gender` | int(11) | +| `shipping_full` | text | +| `billing_full` | text | +| `billing_firstname` | varchar(255) | +| `billing_lastname` | varchar(255) | +| `billing_telephone` | varchar(255) | +| `billing_postcode` | varchar(255) | +| `billing_country_id` | varchar(255) | +| `billing_region` | varchar(255) | +| `billing_city` | varchar(255) | +| `billing_fax` | varchar(255) | +| `billing_vat_id` | varchar(255) | +| `billing_company` | varchar(255) | + +### Address data + +Magento 2 stores the following customer attributes: + +- City +- Company +- Country +- Fax +- First Name +- Last Name +- Middle Name/Initial +- Name Prefix +- Name Suffix +- Phone Number +- State/Province +- State/Province ID +- Street Address +- VAT Number +- Zip/Postal Code + +#### `customer_address_entity` and `customer_address_entity` references + +The following columns in the `customer_address_entity` table contain customer information: + +| Column | Data type | +| ------------ | ------------ | +| `city` | varchar(255) | +| `company` | varchar(255) | +| `country_id` | varchar(255) | +| `fax` | varchar(255) | +| `firstname` | varchar(255) | +| `lastname` | varchar(255) | +| `middlename` | varchar(255) | +| `postcode` | varchar(255) | +| `region` | varchar(255) | +| `region_id` | int(10) | +| `street` | text | +| `suffix` | varchar(40) | +| `telephone` | varchar(255) | +| `vat_id` | varchar(255) | + +These tables reference `customer_address_entity` and can contain custom customer attributes: + +| Table | Column | Data type | +| ---------------------------------- | ------- | ------------- | +| `customer_address_entity_datetime` | `value` | datetime | +| `customer_address_entity_decimal` | `value` | decimal(12,4) | +| `customer_address_entity_int` | `value` | int(11) | +| `customer_address_entity_text` | `value` | text | +| `customer_address_entity_varchar` | `value` | varchar(255) | + +### Order data + +The `sales_order` and related tables contain the customer name, billing and shipping addresses, and related data. + +#### `sales_order` table + +The following columns in the `sales_order` table contain customer information: + +| Column | Data type | +| --------------------- | ------------ | +| `customer_dob` | datetime | +| `customer_email` | varchar(128) | +| `customer_firstname` | varchar(128) | +| `customer_gender` | int(11) | +| `customer_group_id` | int(11) | +| `customer_id` | int(10) | +| `customer_lastname` | varchar(128) | +| `customer_middlename` | varchar(128) | +| `customer_prefix` | varchar(32) | +| `customer_suffix` | varchar(32) | +| `customer_taxvat` | varchar(32) | +| `quote_address_id` | int(11) | +| `remote_ip` | varchar(32) | +| `x_forwarded_for` | varchar(32) | + +#### `sales_order_address` table + +The `sales_order_address` table contains the customer's address. + +| Column | Data type | +| --------------------- | ------------ | +| `customer_address_id` | int(11) | +| `quote_address_id` | int(11) | +| `region_id` | int(11) | +| `customer_id` | int(11) | +| `fax` | varchar(255) | +| `region` | varchar(255) | +| `postcode` | varchar(255) | +| `lastname` | varchar(255) | +| `street` | varchar(255) | +| `city` | varchar(255) | +| `email` | varchar(255) | +| `telephone` | varchar(255) | +| `country_id` | varchar(2) | +| `firstname` | varchar(255) | +| `suffix` | varchar(255) | +| `company` | varchar(255) | + +#### `sales_order_grid` table + +The following columns in the `sales_order_grid` table contain customer information: + +| Column | Data type | +| ---------------------- | ------------ | +| `customer_id` | int(10) | +| `shipping_name` | varchar(255) | +| `billing_name` | varchar(255) | +| `billing_address` | varchar(255) | +| `shipping_address` | varchar(255) | +| `shipping_information` | varchar(255) | +| `customer_email` | varchar(255) | +| `customer_name` | varchar(255) | + +### Quote data + +Quotes contain a customer's name, email, address, and related information. + +#### `quote` table + +The following columns in the `quote` table contain customer information: + +| Column | Data type | +| --------------------- | ------------ | +| `customer_id` | int(10) | +| `customer_email` | varchar(255) | +| `customer_prefix` | varchar(40) | +| `customer_firstname` | varchar(255) | +| `customer_middlename` | varchar(40) | +| `customer_lastname` | varchar(255) | +| `customer_dob` | datetime | +| `remote_ip` | varchar(32) | +| `customer_taxvat` | varchar(255) | +| `customer_gender` | varchar(255) | + +#### `quote_address` table + +The following columns in the `quote_address` table contain customer information: + +| Column | Data type | +| ------------- | ------------ | +| `customer_id` | int(10) | +| `email` | varchar(255) | +| `prefix` | varchar(40) | +| `firstname` | varchar(255) | +| `middlename` | varchar(40) | +| `lastname` | varchar(255) | +| `suffix` | varchar(40) | +| `company` | varchar(255) | +| `street` | varchar(255) | +| `city` | varchar(255) | +| `region` | varchar(255) | +| `region_id` | int(10) | +| `postcode` | varchar(20) | +| `country_id` | varchar(30) | +| `telephone` | varchar(255) | +| `fax` | varchar(255) | + +### Payment data + +The `sales_order_payment` table includes credit card information and other transactional information. + +| Column | Data type | +| ------------------------ | ------------ | +| `cc_exp_month` | varchar(12) | +| `echeck_bank_name` | varchar(128) | +| `cc_last_4` | varchar(100) | +| `cc_owner` | varchar(128) | +| `po_number` | varchar(32) | +| `cc_exp_year` | varchar(4) | +| `echeck_routing_number` | varchar(32) | +| `cc_debug_response_body` | varchar(32) | +| `echeck_account_name` | varchar(32) | +| `cc_number_enc` | varchar(128) | +| `additional_information` | text | + +### Invitation data + +Magento can be configured so that customers can send invitations to private sales and events. + +#### `magento_invitation` table + +The `magento_invitation` table contains the customer ID, email, and referral ID. + +| Column | Data type | +| ------------- | ------------ | +| `customer_id` | int(10) | +| `email` | varchar(255) | +| `referral_id` | int(10) | + +#### `magento_invitation_track` table + +The `magento_invitation_track` table also contains customer information. + +| Column | Data type | +| ------------- | --------- | +| `inviter_id` | int(10) | +| `referral_id` | int(10) | + +### Miscellaneous tables that reference customer + +The following tables contain a `customer_id` column: + +- `catalog_compare_item` +- `catalog_product_frontend_action` +- `downloadable_link_purchased` +- `magento_customerbalance` +- `magento_customersegment_customer` +- `magento_reward` +- `magento_rma` +- `oauth_token` +- `paypal_billing_agreement` +- `persistent_session` +- `product_alert_price` +- `product_stock_alert` +- `report_compared_product_index` +- `report_viewed_product_index` +- `review_detail` +- `salesrule_coupon_usage` +- `salesrule_customer` +- `wishlist` diff --git a/src/guides/v2.2/architecture/gdpr/magento-2x.md b/src/guides/v2.2/architecture/gdpr/magento-2x.md deleted file mode 100644 index 2a9b98cfad3..00000000000 --- a/src/guides/v2.2/architecture/gdpr/magento-2x.md +++ /dev/null @@ -1,329 +0,0 @@ ---- -group: architecture-guide ---- - -# General Data Protection Regulation - -The European Union (EU) enacted [General Data Protection Regulation](https://www.eugdpr.org/) (GDPR) to give its citizens more control over their personal data. GDPR applies to any organization operating within the EU. It also applies to organizations outside of the EU that offer goods or services to customers or businesses in the EU. - -We are publishing this GDPR compliance information to help our merchants and their system integrators with GDPR compliance. A system integrator can use the data flow diagrams and database information to build scripts to resolve use cases similar to the following: - -* A shopper asks for a copy of the data the merchant has stored about her -* A shopper requests that all information about him be deleted - -See the corporate [Magento website](https://magento.com/gdpr) for more information about how Magento helps merchants comply with GDPR. - -## Data flow diagrams - -The data flow diagrams show the types of data that customers and administrators can enter and retrieve on the storefront and in Admin. - -### Frontend data entry points - -A user can enter customer, address, and payment information when registering for an account, during checkout, and similar events. - -![Frontend data entry points](frontend-data-entry-points.svg) - -### Frontend data access points - -Magento loads customer information when the customer logs in and views several different pages or checks out. - -![Frontend data access points](frontend-data-access-points.svg) - -### Backend data entry points - -A merchant can enter customer information, address data, and payment data when using Admin to create a customer or order. - -![Backend data entry points](backend-data-entry-points.svg) - -### Backend data access points - -Magento loads customer information when a merchant views several types of grids, clicks on a grid to see detailed information, and performs various other tasks. - -![Backend data access points](backend-data-access-points.svg) - -## Database entities - -Magento 2 primarily stores customer-specific information in customer, address, order, quote, and payment tables. Other tables contain references to the customer ID. - -### Customer data {#customer-data} - -Magento 2 stores these customer attributes: - -* Date of Birth -* Email -* First Name -* Gender -* Last Name -* Middle Name/Initial -* Name Prefix -* Name Suffix - -#### `customer_entity` and reference tables - -The following columns in the `customer_entity` table contain customer information: - -Column | Data type ---- | --- -`email` | varchar(255) -`prefix` | varchar(40) -`firstname` | varchar(255) -`middlename` | varchar(255) -`lastname` | varchar(255) -`suffix` | varchar(40) -`dob` | date -`gender` | smallint(5) - -These tables reference `customer_entity` and can contain custom customer attributes: - -Table | Column | Data type ---- | --- | --- -`customer_entity_datetime` | `value` | datetime -`customer_entity_decimal` | `value` | decimal(12,4) -`customer_entity_int` | `value` | int(11) -`customer_entity_text` | `value` | text -`customer_entity_varchar` | `value` | varchar(255) - -#### `customer_grid_flat` table - -The following columns in the `customer_grid_flat` table contain customer information: - -Column | Data type ---- | --- -`name` |text -`email` | varchar(255) -`dob` | date -`gender` | int(11) -`shipping_full` | text -`billing_full` | text -`billing_firstname` | varchar(255) -`billing_lastname` | varchar(255) -`billing_telephone` | varchar(255) -`billing_postcode` | varchar(255) -`billing_country_id` | varchar(255) -`billing_region` | varchar(255) -`billing_city` | varchar(255) -`billing_fax` | varchar(255) -`billing_vat_id` | varchar(255) -`billing_company` | varchar(255) - -### Address data - -Magento 2 stores these customer attributes: - -* City -* Company -* Country -* Fax -* First Name -* Last Name -* Middle Name/Initial -* Name Prefix -* Name Suffix -* Phone Number -* State/Province -* State/Province ID -* Street Address -* VAT Number -* Zip/Postal Code - -#### `customer_address_entity` and reference tables - -The following columns in the `customer_address_entity` table contain customer information: - -Column | Data type ---- | --- -`city` | varchar(255) -`company` | varchar(255) -`country_id` | varchar(255) -`fax` | varchar(255) -`firstname` | varchar(255) -`lastname` | varchar(255) -`middlename` | varchar(255) -`postcode` | varchar(255) -`region` | varchar(255) -`region_id` | int(10) -`street` | text -`suffix` | varchar(40) -`telephone` | varchar(255) -`vat_id` | varchar(255) - -These tables reference `customer_address_entity` and can contain custom customer attributes: - -Table | Column | Data type ---- | --- | --- -`customer_address_entity_datetime` | `value` | datetime -`customer_address_entity_decimal` | `value` | decimal(12,4) -`customer_address_entity_int` | `value` | int(11) -`customer_address_entity_text` | `value` | text -`customer_address_entity_varchar` | `value` | varchar(255) - -### Order data - -The `sales_order` and related tables contain the customer's name, billing and shipping addresses, and related data. - -#### `sales_order` table - -The following columns in the `sales_order` table contain customer information: - -Column | Data type ---- | --- -`customer_dob` | datetime -`customer_email` | varchar(128) -`customer_firstname` | varchar(128) -`customer_gender` | int(11) -`customer_group_id` | int(11) -`customer_id` | int(10) -`customer_lastname` | varchar(128) -`customer_middlename` | varchar(128) -`customer_prefix` | varchar(32) -`customer_suffix` | varchar(32) -`customer_taxvat` | varchar(32) -`quote_address_id` | int(11) -`remote_ip` | varchar(32) -`x_forwarded_for` | varchar(32) - -#### `sales_order_address` table - -The `sales_order_address` table contains the customer's address. - -Column | Data type ---- | --- -`customer_address_id` | int(11) -`quote_address_id` | int(11) -`region_id` | int(11) -`customer_id` | int(11) -`fax` | varchar(255) -`region` | varchar(255) -`postcode` | varchar(255) -`lastname` | varchar(255) -`street` | varchar(255) -`city` | varchar(255) -`email` | varchar(255) -`telephone` | varchar(255) -`country_id` | varchar(2) -`firstname` | varchar(255) -`suffix` | varchar(255) -`company` | varchar(255) - -#### `sales_order_grid` table - -The following columns in the `sales_order_grid` table contain customer information: - -Column | Data type ---- | --- -`customer_id` | int(10) -`shipping_name` | varchar(255) -`billing_name` | varchar(255) -`billing_address` | varchar(255) -`shipping_address` | varchar(255) -`shipping_information` | varchar(255) -`customer_email` | varchar(255) -`customer_name` | varchar(255) - -### Quote data - -Quotes contain a customer's name, email, address, and related information. - -#### `quote` table - -The following columns in the `quote` table contain customer information: - -Column | Data type ---- | --- -`customer_id` | int(10) -`customer_email` | varchar(255) -`customer_prefix` | varchar(40) -`customer_firstname` | varchar(255) -`customer_middlename` | varchar(40) -`customer_lastname` | varchar(255) -`customer_dob` | datetime -`remote_ip` | varchar(32) -`customer_taxvat` | varchar(255) -`customer_gender` | varchar(255) - -#### `quote_address` table - -The following columns in the `quote_address` table contain customer information: - -Column | Data type ---- | --- -`customer_id` | int(10) -`email` | varchar(255) -`prefix` | varchar(40) -`firstname` | varchar(255) -`middlename` | varchar(40) -`lastname` | varchar(255) -`suffix` | varchar(40) -`company` | varchar(255) -`street` | varchar(255) -`city` | varchar(255) -`region` | varchar(255) -`region_id` | int(10) -`postcode` | varchar(20) -`country_id` | varchar(30) -`telephone` | varchar(255) -`fax` | varchar(255) - -### Payment data - -The `sales_order_payment` table includes credit card information and other transactional information. - -Column | Data type ---- | --- -`cc_exp_month` | varchar(12) -`echeck_bank_name` | varchar(128) -`cc_last_4` | varchar(100) -`cc_owner` | varchar(128) -`po_number` | varchar(32) -`cc_exp_year` | varchar(4) -`echeck_routing_number` | varchar(32) -`cc_debug_response_body` | varchar(32) -`echeck_account_name` | varchar(32) -`cc_number_enc` | varchar(128) -`additional_information` | text - -### Invitation data - -Magento can be configured so that customers can send invitations to private sales and events. - -#### `magento_invitation` table - -The `magento_invitation` table contains the customer ID, email, and referral ID. - -Column | Data type ---- | --- -`customer_id` | int(10) -`email` | varchar(255) -`referral_id` | int(10) - -#### `magento_invitation_track` table - -The `magento_invitation_track` table also contains customer information. - -Column | Data type ---- | --- -`inviter_id` | int(10) -`referral_id` | int(10) - -### Miscellaneous tables that reference customer - -The following tables contain a `customer_id` column: - -* `catalog_compare_item` -* `catalog_product_frontend_action` -* `downloadable_link_purchased` -* `magento_customerbalance` -* `magento_customersegment_customer` -* `magento_reward` -* `magento_rma` -* `oauth_token` -* `paypal_billing_agreement` -* `persistent_session` -* `product_alert_price` -* `product_stock_alert` -* `report_compared_product_index` -* `report_viewed_product_index` -* `review_detail` -* `salesrule_coupon_usage` -* `salesrule_customer` -* `wishlist` \ No newline at end of file diff --git a/src/guides/v2.3/architecture/gdpr/backend-data-access-points.svg b/src/guides/v2.3/architecture/gdpr/backend-data-access-points.svg deleted file mode 120000 index 41a13ad2cba..00000000000 --- a/src/guides/v2.3/architecture/gdpr/backend-data-access-points.svg +++ /dev/null @@ -1 +0,0 @@ -../../../../guides/v2.2/architecture/gdpr/backend-data-access-points.svg \ No newline at end of file diff --git a/src/guides/v2.3/architecture/gdpr/backend-data-entry-points.svg b/src/guides/v2.3/architecture/gdpr/backend-data-entry-points.svg deleted file mode 120000 index 53b057f3ad4..00000000000 --- a/src/guides/v2.3/architecture/gdpr/backend-data-entry-points.svg +++ /dev/null @@ -1 +0,0 @@ -../../../../guides/v2.2/architecture/gdpr/backend-data-entry-points.svg \ No newline at end of file diff --git a/src/guides/v2.3/architecture/gdpr/frontend-data-access-points.svg b/src/guides/v2.3/architecture/gdpr/frontend-data-access-points.svg deleted file mode 120000 index 882dbebb7a7..00000000000 --- a/src/guides/v2.3/architecture/gdpr/frontend-data-access-points.svg +++ /dev/null @@ -1 +0,0 @@ -../../../../guides/v2.2/architecture/gdpr/frontend-data-access-points.svg \ No newline at end of file diff --git a/src/guides/v2.3/architecture/gdpr/frontend-data-entry-points.svg b/src/guides/v2.3/architecture/gdpr/frontend-data-entry-points.svg deleted file mode 120000 index 171a28942b6..00000000000 --- a/src/guides/v2.3/architecture/gdpr/frontend-data-entry-points.svg +++ /dev/null @@ -1 +0,0 @@ -../../../../guides/v2.2/architecture/gdpr/frontend-data-entry-points.svg \ No newline at end of file diff --git a/src/guides/v2.3/architecture/gdpr/magento-1x.md b/src/guides/v2.3/architecture/gdpr/magento-1x.md deleted file mode 120000 index b55b70c1059..00000000000 --- a/src/guides/v2.3/architecture/gdpr/magento-1x.md +++ /dev/null @@ -1 +0,0 @@ -../../../../guides/v2.2/architecture/gdpr/magento-1x.md \ No newline at end of file diff --git a/src/guides/v2.3/architecture/gdpr/magento-2x.md b/src/guides/v2.3/architecture/gdpr/magento-2x.md deleted file mode 120000 index f48fdd9c59a..00000000000 --- a/src/guides/v2.3/architecture/gdpr/magento-2x.md +++ /dev/null @@ -1 +0,0 @@ -../../../../guides/v2.2/architecture/gdpr/magento-2x.md \ No newline at end of file