{
  "format": "dataset-manifest/1",
  "slug": "secure-access-management-for-fintech",
  "version": 3,
  "seed": "secure-access-management-for-fintech:1",
  "engine": 1,
  "engineVersion": "1.0.0",
  "spec": {
    "format": "dataset/1",
    "slug": "secure-access-management-for-fintech",
    "name": "Secure Access Management for Fintech",
    "tagline": "User profiles, devices, emergency contacts, and shared folders for secure fintech access management.",
    "description": "Users manage their sensitive information effortlessly within a secure platform, ensuring that passwords, billing details, and identification documents are safely stored and easily shared. This fintech business prioritizes secure access, allowing users to control who can see their information while navigating a seamless user experience. Every user account acts as a central hub that links to various devices, emergency contacts, and shared folders, facilitating a comprehensive yet secure way to handle sensitive data in a collaborative environment.\n\nThe 'users' table holds individual user profiles, which are crucial for defining the primary actors within the system. Each user can be connected to multiple devices recorded in the 'devices' table, illustrating the different platforms they access their information from. Meanwhile, the 'shared_folders' table provides insights into collaborative spaces where users can share access with trusted contacts, enhancing teamwork while maintaining security protocols. The 'emergency_contacts' table holds the details of individuals who can assist users in critical situations, though these entries are not as prevalent, highlighting their importance. Lastly, 'recovery_keys' serve as a safeguard for users to regain access to their accounts when necessary, making them an essential but less frequent entry in the dataset. \n\nBy exploring these interconnected tables, developers can answer various questions related to user behavior, access management, and collaborative functionalities. For instance, they can analyze how many devices a typical user connects, how often users share folders, or the relationship between emergency contacts and user recovery actions. Practicing with this data enables developers to build a robust understanding of secure information management systems in the fintech sector, as the data is entirely synthetic, allowing for flexible experimentation without privacy concerns.",
    "domain": "fintech",
    "shape": "ledger",
    "useCases": [
      "sql-practice",
      "teaching"
    ],
    "keywords": [
      "fintech",
      "access management",
      "user profiles",
      "devices",
      "shared folders",
      "emergency contacts",
      "sensitive information"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "This table holds information about users, including their profiles and essential details for secure access management.",
        "rows": 300,
        "columns": {
          "user_id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "username": {
            "kind": "fullName",
            "description": "Full name of the user."
          },
          "email": {
            "kind": "email",
            "from": "username",
            "description": "Email address of the user."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "Account creation date.",
            "dayProfile": "business"
          }
        }
      },
      "devices": {
        "description": "This table records devices linked to each user account, enabling secure access from multiple devices.",
        "rows": 600,
        "via": "user_id",
        "columns": {
          "device_id": {
            "kind": "pk",
            "description": "Unique identifier for each device."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "description": "Identifier linking the device to its owner."
          },
          "device_type": {
            "kind": "enum",
            "values": [
              "mobile",
              "desktop",
              "tablet"
            ],
            "description": "Type of the device.",
            "weights": [
              6,
              3,
              1
            ]
          },
          "last_accessed": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Last access date of the device.",
            "dayProfile": "waking"
          },
          "device_os": {
            "kind": "enum",
            "values": [
              "iOS",
              "Android",
              "Windows",
              "macOS",
              "Linux"
            ],
            "weights": [
              40,
              40,
              10,
              5,
              5
            ],
            "description": "Operating system of the device."
          }
        }
      },
      "emergency_contacts": {
        "description": "This table contains emergency contacts assigned by users for account recovery and access control.",
        "rows": 150,
        "via": "user_id",
        "columns": {
          "contact_id": {
            "kind": "pk",
            "description": "Unique identifier for each emergency contact."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "description": "Identifier linking the contact to the user."
          },
          "contact_name": {
            "kind": "fullName",
            "description": "Name of the emergency contact."
          },
          "contact_phone": {
            "kind": "phone",
            "description": "Phone number of the emergency contact."
          },
          "relationship": {
            "kind": "enum",
            "values": [
              "family",
              "friend",
              "colleague"
            ],
            "weights": [
              50,
              30,
              20
            ],
            "description": "Relationship to the user."
          },
          "contact_email": {
            "kind": "email",
            "from": "contact_name",
            "description": "Email address of the emergency contact."
          }
        }
      },
      "shared_folders": {
        "description": "This table details folders shared among users, facilitating secure collaboration.",
        "rows": 200,
        "via": "owner_id",
        "columns": {
          "folder_id": {
            "kind": "pk",
            "description": "Unique identifier for each shared folder."
          },
          "owner_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "description": "Identifier for the user who owns the folder."
          },
          "folder_name": {
            "kind": "words",
            "description": "Name of the shared folder.",
            "pool": [
              "documents",
              "financials",
              "reports",
              "invoices",
              "receipts",
              "analytics",
              "projects",
              "client_data",
              "taxes",
              "budgets",
              "contracts",
              "statements",
              "proposals",
              "presentations",
              "audits",
              "compliance",
              "strategies",
              "plans",
              "summaries",
              "tasks"
            ],
            "min": 1,
            "max": 3
          },
          "shared_with": {
            "kind": "fk",
            "ref": "users.user_id",
            "nullable": true,
            "description": "User ID of the person the folder is shared with."
          },
          "access_level": {
            "kind": "enum",
            "values": [
              "read",
              "write",
              "admin"
            ],
            "weights": [
              50,
              30,
              20
            ],
            "description": "Access level granted to the shared folder."
          },
          "shared_date": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date when the folder was shared."
          }
        }
      },
      "recovery_keys": {
        "description": "This table stores recovery keys for users, allowing access restoration in emergencies.",
        "rows": 100,
        "via": "user_id",
        "columns": {
          "key_id": {
            "kind": "pk",
            "description": "Unique identifier for each recovery key."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.user_id",
            "description": "Identifier linking the key to the user."
          },
          "recovery_key": {
            "kind": "words",
            "description": "The secure recovery key.",
            "pool": [
              "secure",
              "key",
              "access",
              "code",
              "token",
              "password",
              "phrase",
              "identifier",
              "credential",
              "pin",
              "backup",
              "safety",
              "protection",
              "encryption",
              "authentication",
              "verification",
              "security",
              "safeguard",
              "recovery",
              "restore",
              "sensitive"
            ],
            "min": 1,
            "max": 3
          },
          "created_at": {
            "kind": "datetime",
            "from": "2021-01-01",
            "to": "2023-12-31",
            "description": "Date when the recovery key was generated.",
            "dayProfile": "business",
            "trend": "growing"
          },
          "key_usage_count": {
            "kind": "int",
            "min": 0,
            "max": 10,
            "distribution": "normal",
            "description": "Number of times the recovery key has been used."
          },
          "expiry_date": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2025-12-31",
            "description": "Date when the recovery key expires."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "nullable",
      "timestamped",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "How many devices does the average user have linked to their account?",
      "What is the distribution of device types among users?",
      "How often are emergency contacts utilized for recovery?",
      "What percentage of folders are shared with other users, and who are the most common users they are shared with?",
      "When are recovery keys most frequently generated?"
    ],
    "suggestedQueries": [
      {
        "title": "List all users and their devices",
        "sql": "SELECT users.username, devices.device_type FROM users JOIN devices ON users.user_id = devices.user_id;",
        "dialect": "postgres"
      },
      {
        "title": "Count the number of emergency contacts per user",
        "sql": "SELECT user_id, COUNT(contact_id) AS contact_count FROM emergency_contacts GROUP BY user_id;",
        "dialect": "postgres"
      },
      {
        "title": "Find the last accessed device for each user",
        "sql": "SELECT user_id, device_type, last_accessed FROM devices WHERE (user_id, last_accessed) IN (SELECT user_id, MAX(last_accessed) FROM devices GROUP BY user_id);",
        "dialect": "postgres"
      },
      {
        "title": "Identify users with shared folders",
        "sql": "SELECT DISTINCT users.username FROM shared_folders JOIN users ON shared_folders.owner_id = users.user_id WHERE shared_with IS NOT NULL;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "User Profile Management",
        "body": "Developers can use this dataset to simulate user profile management systems, allowing them to practice creating, updating, and retrieving user information. This is essential for building secure applications in the fintech space."
      },
      {
        "title": "Emergency Recovery Procedures",
        "body": "This data can help in teaching how emergency recovery procedures work. By analyzing the relationships between users and their emergency contacts, learners can understand the importance of recovery keys and how to implement secure access."
      },
      {
        "title": "Device Management",
        "body": "The dataset provides a foundation for understanding device management in fintech applications. It allows users to practice querying device access logs and analyzing device usage patterns, which are crucial for security audits."
      },
      {
        "title": "Collaboration in Shared Folders",
        "body": "The shared folders data enables developers to explore collaboration features in applications. They can practice implementing folder sharing functionalities while ensuring secure access, which is vital for fintech solutions."
      }
    ]
  },
  "counts": {
    "users": 300,
    "devices": 600,
    "emergency_contacts": 150,
    "recovery_keys": 100,
    "shared_folders": 200
  },
  "stats": {
    "users": {
      "rows": 300,
      "columns": {
        "user_id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "username": {
          "nulls": 0,
          "distinct": 297,
          "min": "Alice Hoffmann",
          "max": "Zoe Wang"
        },
        "email": {
          "nulls": 0,
          "distinct": 299
        },
        "created_at": {
          "nulls": 0,
          "distinct": 300,
          "min": "2020-01-02 14:39:25",
          "max": "2023-12-30 22:58:16"
        }
      }
    },
    "devices": {
      "rows": 600,
      "columns": {
        "device_id": {
          "nulls": 0,
          "distinct": 600,
          "min": 1,
          "max": 600
        },
        "user_id": {
          "nulls": 0,
          "distinct": 260,
          "min": 1,
          "max": 300
        },
        "device_type": {
          "nulls": 0,
          "distinct": 3,
          "min": "desktop",
          "max": "tablet"
        },
        "last_accessed": {
          "nulls": 0,
          "distinct": 600,
          "min": "2022-01-02 12:01:16",
          "max": "2023-12-31 22:17:47"
        },
        "device_os": {
          "nulls": 0,
          "distinct": 5,
          "min": "Android",
          "max": "macOS"
        }
      }
    },
    "emergency_contacts": {
      "rows": 150,
      "columns": {
        "contact_id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "user_id": {
          "nulls": 0,
          "distinct": 118,
          "min": 7,
          "max": 296
        },
        "contact_name": {
          "nulls": 0,
          "distinct": 149,
          "min": "Alice Sato",
          "max": "Zoe Wagner"
        },
        "contact_phone": {
          "nulls": 0,
          "distinct": 143
        },
        "relationship": {
          "nulls": 0,
          "distinct": 3,
          "min": "colleague",
          "max": "friend"
        },
        "contact_email": {
          "nulls": 0,
          "distinct": 149
        }
      }
    },
    "shared_folders": {
      "rows": 200,
      "columns": {
        "folder_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "owner_id": {
          "nulls": 0,
          "distinct": 152,
          "min": 1,
          "max": 300
        },
        "folder_name": {
          "nulls": 0,
          "distinct": 140
        },
        "shared_with": {
          "nulls": 26,
          "distinct": 140,
          "min": 1,
          "max": 298
        },
        "access_level": {
          "nulls": 0,
          "distinct": 3,
          "min": "admin",
          "max": "write"
        },
        "shared_date": {
          "nulls": 0,
          "distinct": 200,
          "min": "2022-01-05 13:21:31",
          "max": "2023-12-27 20:59:43"
        }
      }
    },
    "recovery_keys": {
      "rows": 100,
      "columns": {
        "key_id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "user_id": {
          "nulls": 0,
          "distinct": 86,
          "min": 3,
          "max": 298
        },
        "recovery_key": {
          "nulls": 0,
          "distinct": 85
        },
        "created_at": {
          "nulls": 0,
          "distinct": 100,
          "min": "2021-02-04 11:03:06",
          "max": "2023-12-23 10:59:50"
        },
        "key_usage_count": {
          "nulls": 0,
          "distinct": 7,
          "min": 2,
          "max": 8
        },
        "expiry_date": {
          "nulls": 0,
          "distinct": 100,
          "min": "2023-01-05 08:54:23",
          "max": "2025-12-17 09:07:16"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/secure-access-management-for-fintech/v3/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/secure-access-management-for-fintech/v3/csv/users.csv",
      "bytes": 18255,
      "sha256": "33d3c6ca00cdca99a330b0cb9bc90df6cb614db26ed55e86c657a727ef633789",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/devices.csv",
      "format": "csv",
      "table": "devices",
      "key": "datasets/secure-access-management-for-fintech/v3/csv/devices.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/secure-access-management-for-fintech/v3/csv/devices.csv",
      "bytes": 25183,
      "sha256": "66b7568c2a7be3a97064eeb9cd34d23a9116dda0169749124ab0541cde4444cf",
      "rows": 600,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/emergency_contacts.csv",
      "format": "csv",
      "table": "emergency_contacts",
      "key": "datasets/secure-access-management-for-fintech/v3/csv/emergency_contacts.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/secure-access-management-for-fintech/v3/csv/emergency_contacts.csv",
      "bytes": 10248,
      "sha256": "5a62d82e44bb8560599003388ccc80e8b6a54714b867d29b551b0abe254db373",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/recovery_keys.csv",
      "format": "csv",
      "table": "recovery_keys",
      "key": "datasets/secure-access-management-for-fintech/v3/csv/recovery_keys.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/secure-access-management-for-fintech/v3/csv/recovery_keys.csv",
      "bytes": 6833,
      "sha256": "4b4f433eceae0fe54d89df118cfbdbf6aadc1500ba9983b450eda3854e0fedd4",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/shared_folders.csv",
      "format": "csv",
      "table": "shared_folders",
      "key": "datasets/secure-access-management-for-fintech/v3/csv/shared_folders.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/secure-access-management-for-fintech/v3/csv/shared_folders.csv",
      "bytes": 11125,
      "sha256": "715f02ff6e082c34205daf7c97a28366f2fe1cd526a51848dfc3c0dc3f4d88e2",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "secure-access-management-for-fintech.json",
      "format": "json",
      "table": null,
      "key": "datasets/secure-access-management-for-fintech/v3/secure-access-management-for-fintech.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/secure-access-management-for-fintech/v3/secure-access-management-for-fintech.json",
      "bytes": 237667,
      "sha256": "8c487ba76418c02ebe7de3061deb18ddcda6f6ef5e84ac40903371890f42bd40",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/secure-access-management-for-fintech/v3/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/secure-access-management-for-fintech/v3/sql/postgres.sql",
      "bytes": 97199,
      "sha256": "8082de215f25ccbbaf5124e9fe968f7c936c0ba56c620f25dbde2e8ba25d588a",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/secure-access-management-for-fintech/v3/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/secure-access-management-for-fintech/v3/sql/mysql.sql",
      "bytes": 96543,
      "sha256": "5e5638518d475f27051573628c079936c0240086d62b90aa83a56914f4513647",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/secure-access-management-for-fintech/v3/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/secure-access-management-for-fintech/v3/sql/mssql.sql",
      "bytes": 101098,
      "sha256": "f9536c2499533187fe6e37a64d9e97947ab7c1264a202c4775b9cdcc34c1e48d",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/secure-access-management-for-fintech/v3/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/secure-access-management-for-fintech/v3/sql/sqlite.sql",
      "bytes": 96241,
      "sha256": "7df870f932d13f65c2a5339d9914fae45879f142b161c9791e8ae47ea7327ed2",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/secure-access-management-for-fintech/v3/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/secure-access-management-for-fintech/v3/prisma/seed.ts",
      "bytes": 203194,
      "sha256": "17fd64a46ff68c2c0af1269019c384f68295bcbfe82b8856022617b6c4a24065",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/secure-access-management-for-fintech/v3/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/secure-access-management-for-fintech/v3/django/fixtures.json",
      "bytes": 287650,
      "sha256": "d818a5dcf006cb2fb687d85149e588758e2dda2e1d7fd90babcd3063817a6735",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788768563970,
  "updatedAt": 1789096036820
}
