Affinity's relationship engine is genuinely powerful at what it does: capturing how one contact knows another, tracking deal influence, and surfacing hidden connections across your network. For transactional sales teams and deal-focused investment professionals, that's often enough. But wealth advisors, family office managers, and private client teams operate in a different universe. A single deal involves multiple stakeholders—spouses with separate income streams, adult children with their own financial interests, trust structures with fiduciary decision-makers, and succession plans that redistribute control in stages. Affinity maps the contact. It does not map the family. And at that level of complexity, contact-level relationship mapping becomes a liability. What Affinity's relationship mapping actually does Affinity's relationship canvas shows you how your contacts know each other: "Person A introduced you to Person B," "Person B worked with Person C at Company X," "Person C sits on the board with Person D." It's a social graph layer on top of contact records. The visualizations are clean, the inference engine is fast, and for identifying decision-makers in a corporate M&A deal, it's excellent. The limitation is architectural: Affinity treats relationships as attributes of individual contacts. Contact A has a relationship record that says "married to B." That works for a binary tie. It fails the moment you need to: Track income, assets, and liabilities for each spouse separately, then roll them into a household view Model trust structures where control and benefit flow to different people Show which child or beneficiary stands to inherit which assets in what order Flag conflicts of interest when one family member's interests diverge from another's Plan succession across a three-generation portfolio without rebuilding contacts every time someone ages into or out of a role A wealth advisor managing a $50M portfolio across ten family members cannot see household cash flow, cannot visualize generational risk, and cannot model "what if" scenarios on a single canvas. They can open ten contact records and squint. Why contact-level relationships break down in family wealth In corporate deal work, the relationship is the goal: "get all three C-suite executives aligned on this acquisition." Once the deal closes, the relationship often evaporates. In family wealth, the relationship is the product . The advisor's job is to keep a household aligned across decades, through marriages, divorces, births, deaths, and inheritance events. Consider a realistic scenario: A widow with $20M in assets works with her wealth advisor. She has three adult children from her first marriage and two young children from her second marriage. Her second husband has his own income and asset base. One adult child is a spendthrift. Another runs a family business. The third is a financial professional. The second husband and the adult children are not consistently aligned on spending, reinvestment, and charitable giving. In Affinity, you have six contact records. You can tag relationships between them. But you cannot: See the widow's total household liabilities (her obligations to her ex-spouse's estate are separate from her current husband's debts) Model tax-efficient distributions across the two households she's now managing (hers from marriage one, her current husband's from his prior relationships, and their joint estate) Flag that her spendthrift child's inheritance should be held in a spendthrift trust, not distributed directly Track that the adult child running the family business should receive the operating company, not liquid assets, to preserve continuity Visualize that the second husband has no inherited interest in the first marriage's assets, so his succession plan is separate Affinity shows you the contact graph. It does not show you the financial and legal structure beneath it. And that structure is where wealth advisors actually live. How Salesforce's relationship canvas and HubSpot's custom objects approach this differently Salesforce's relationship canvas treats relationships as first-class objects—not attributes of contacts, but entities in their own right. A relationship record can have its own fields: "type of relationship," "duration," "mutual benefits," "conflict of interest," "decision influence," and custom fields for your specific use case. You can link multiple relationships to a single deal, and the system can surface network effects ("Person A's trust in Person C influences Person B's decision") without flattening them into a single contact view. More importantly, Salesforce lets you build account hierarchies. You can define a "Household" as a custom object, link multiple contact records to it, and attach financial data (assets, liabilities, income, obligations) to the household record rather than duplicating it across contacts. A spouse's income belongs to the household, not to one person. A trust's assets b