{
	"type": "beautiful-article-record-v1",
	"signed-article": {
		"document": {
			"type": "beautiful-article-v1",
			"article-id": "rentiful-case-study",
			"canonical-url": "https://beautiful.digital/case-studies/rentiful",
			"title": "Rentiful is building a personal representative for renting.",
			"eyebrow": "CASE STUDY · LAUNCHING SOON",
			"standfirst": "Rentiful v3 introduces Lisa✨, a personal representative built to help renters find, secure and enjoy their perfect home. Beautiful provides the identity, messaging and agentic infrastructure beneath the experience.",
			"release-state": "launching-soon",
			"meta-title": "Rentiful x Beautiful | A personal representative for renting",
			"meta-description": "Rentiful v3 is launching soon with Lisa✨, a personal representative for renting, built on Beautiful infrastructure.",
			"author": {
				"name": "Jonathan Greensted",
				"role": "Founder, Rentiful and Beautiful Infrastructure Limited",
				"url": "https://www.linkedin.com/in/jonathangreensted/"
			},
			"publisher": {
				"name": "Beautiful Infrastructure Limited",
				"rep": "did:rep:z4GcKhTyJWNfA2qWXs3JB4A4X4B33a1kF42rd2UDde6Gf",
				"url": "https://beautiful.digital"
			},
			"sections": [
				{
					"id": "hero-visual",
					"heading": "Meet Lisa",
					"blocks": [
						{
							"type": "figure",
							"kind": "scamp",
							"labels": ["MEET LISA · EXPERIENCE PREVIEW", "SCAMP · SCREENSHOT TO FOLLOW"],
							"alt": "An illustrative scamp standing in for the upcoming Meet Lisa experience: plain monochrome blocks marking where a conversation panel and a journey summary will sit. It is a placeholder drawing, not a picture of the product, and it shows no renter message, no property and no result.",
							"caption": "A scamp of the Meet Lisa experience, drawn to hold the composition. The approved screenshot replaces it once the refreshed experience is available.",
							"image-url": null
						}
					]
				},
				{
					"id": "the-problem",
					"heading": "Rental systems represent properties. Rentiful represents the renter.",
					"blocks": [
						{
							"type": "paragraph",
							"text": "Search, availability and leasing processes are principally built around property-side workflows. The listing is the unit, the landlord or the agent is the customer, and the software is organised around filling a property rather than housing a person."
						},
						{
							"type": "paragraph",
							"text": "A renter meets that system as a series of disconnected steps: a portal, a form, an enquiry, a viewing request, a reference check, a contract. Each step starts again from nothing. Nothing carries the renter's preferences, constraints or history forward, so the person doing the most work in the transaction is the only party with nobody working for them."
						},
						{
							"type": "paragraph",
							"text": "A renter needs one continuing representative across the journey, not a new form or an impersonal chatbot at every step."
						}
					]
				},
				{
					"id": "the-implementation",
					"heading": "Meet Lisa✨",
					"blocks": [
						{
							"type": "lede",
							"text": "Lisa✨ is Rentiful's personal representative for renting. The Meet Lisa experience is the renter-facing entry point: where a renter meets their representative and the journey begins."
						},
						{
							"type": "paragraph",
							"text": "Underneath, Rentiful is being built on Beautiful's representative, identity, messaging and controlled agent-execution infrastructure. The two halves stay distinct on purpose. Rentiful is the renter-facing product, brand and commercial proposition. Beautiful Infrastructure Limited provides the infrastructure and represents nobody's renters."
						},
						{
							"type": "table",
							"caption": "What Rentiful is building, and the Beautiful infrastructure beneath it.",
							"columns": ["Rentiful experience", "Beautiful infrastructure"],
							"rows": [
								["Meet Lisa", "Representative identity and relationship"],
								["Renter conversation", "RepComms and RepMail continuity"],
								["Useful leasing journey", "Agent runtime, controlled tools and Guard"],
								[
									"Trust and accountability",
									"Signed records, policy enforcement and Beautiful Time where consequential"
								]
							]
						},
						{
							"type": "paragraph",
							"text": "The table is explanatory. It describes the work being built, not a deployment: Rentiful v3 is not live on Beautiful, and no row here should be read as a component already running in production."
						}
					]
				},
				{
					"id": "who-does-what",
					"heading": "Who does what",
					"blocks": [
						{
							"type": "list",
							"items": [
								"Rentiful is the renter-facing product. It owns the brand, the experience and the commercial relationship with the renter.",
								"Lisa✨ is Rentiful's representative and represents the renter: working for the person renting, not for a property, a landlord or an advertiser.",
								"Beautiful Infrastructure Limited provides the infrastructure: identity, messaging, the agent runtime and the signed records underneath. It does not own, operate or represent Rentiful's renters."
							]
						}
					]
				},
				{
					"id": "why-it-matters",
					"heading": "Representation changes the direction of the journey.",
					"blocks": [
						{
							"type": "paragraph",
							"text": "A representative works for the renter. It acts within the renter's explicit authority, preferences and constraints, and its job is the renter's outcome rather than any particular property's occupancy."
						},
						{
							"type": "paragraph",
							"text": "That is a direction, and directions have consequences. A representative that quietly optimised for a property, an advertiser or a commercial partner at the renter's expense would not be a representative, whatever it was called. Authority has to be explicit, scoped and withdrawable, and the record of what was done under it has to be checkable afterwards by the person it was done for."
						},
						{
							"type": "paragraph",
							"text": "Authority is also a limit rather than a slogan. Lisa✨ will do what the deployed runtime permits and enforces, and nothing beyond it. Where an action carries real consequence, the enforcement sits outside the model, in policy and in signed records, not in a promise about good behaviour."
						}
					]
				},
				{
					"id": "founder-statement",
					"heading": "From the founder",
					"blocks": [
						{
							"type": "quote",
							"text": "For too long, rental technology has primarily represented the property. Rentiful represents the renter. Beautiful gives us the agentic infrastructure to make that representation durable, useful and accountable across the whole leasing journey.",
							"attribution": "Jonathan Greensted, Founder, Rentiful and Beautiful Infrastructure Limited"
						}
					]
				},
				{
					"id": "launching-soon",
					"heading": "Launching soon",
					"blocks": [
						{
							"type": "paragraph",
							"text": "Rentiful v3 is preparing to introduce Lisa✨. The first deployment is designed to prove a simple but important behaviour: a renter can have a representative that stays with them through the journey."
						},
						{
							"type": "paragraph",
							"text": "We will say more when there is more that is true. Until the public Meet Lisa flow genuinely reaches Lisa✨ through the Beautiful-backed path, this page says launching soon and means it."
						}
					]
				}
			],
			"version": 1,
			"previous-version": null,
			"time-evidence": {
				"document": {
					"type": "beautiful-time-beacon-v2",
					"observer": "did:rep:zBtwycRi71CPA7MTBmkNbENBkUewHcUQ5XfRHPT3S7ZPK",
					"signer-provenance": {
						"type": "rep-signer-provenance-v1",
						"rep": "did:rep:zBtwycRi71CPA7MTBmkNbENBkUewHcUQ5XfRHPT3S7ZPK",
						"authority-events": [
							{
								"body": {
									"protocol": "did:rep",
									"version": "0.1",
									"rep": "did:rep:zBtwycRi71CPA7MTBmkNbENBkUewHcUQ5XfRHPT3S7ZPK",
									"sequence": 0,
									"previous-event": null,
									"type": "inception",
									"inception-core": {
										"protocol": "did:rep",
										"version": "0.1",
										"created-at": "2026-09-02T10:51:40Z",
										"nonce": "SJJSWXg2cOPcfl6KmFyuD10P6GgnQl1b9QHApP7LwpI",
										"controller": {
											"key-id": "controller-1",
											"algorithm": "Ed25519",
											"public-key": "JmuVIwz88qYdKNRP6Yr1N_IE0iKvyzl2vztLVWrkLyM"
										},
										"supported-algorithms": ["Ed25519", "ES256"],
										"initial-guardian-policy": null
									},
									"signer-key-id": "controller-1"
								},
								"signature": {
									"algorithm": "Ed25519",
									"value": "fEwPiwr72M0DQ2KmupGskya4KrCtoyECypf3KUyyq9Zu1bEhzb-cu3xHLI2I4KmqBV4OLvEGh42aUzncwz3MAA"
								}
							},
							{
								"body": {
									"protocol": "did:rep",
									"version": "0.1",
									"rep": "did:rep:zBtwycRi71CPA7MTBmkNbENBkUewHcUQ5XfRHPT3S7ZPK",
									"sequence": 1,
									"previous-event": "z8uBJdwxwBHuim4pwptCMiNYjZ5mYYFxHja2VHpNDvkuq",
									"type": "authorise-operational-key",
									"payload": {
										"key-id": "browser-bDQQio_X",
										"algorithm": "ES256",
										"public-key": "BN-Xjr3vwLXz0OT8HUSrW7WRbFZ7s_Mx7B1WPIXooq6a4w1_lD5CXFq05gXFu7I-ow9iVUEUqahOpZqDhN3-lIU",
										"purposes": ["open-data-signing"],
										"not-before": null,
										"not-after": null
									},
									"signer-key-id": "controller-1",
									"created-at": "2026-09-02T10:51:40Z"
								},
								"authorisation": {
									"mode": "controller-signature",
									"signature": {
										"algorithm": "Ed25519",
										"value": "E-UAm28YVR2kPgeokkeChm0S6bKBg56djVRJ8WBdACChTCyU5LO5ulrfZeVeVIrUJLvdyYvWEd5asZ9OpcelBQ"
									}
								}
							},
							{
								"body": {
									"protocol": "did:rep",
									"version": "0.1",
									"rep": "did:rep:zBtwycRi71CPA7MTBmkNbENBkUewHcUQ5XfRHPT3S7ZPK",
									"sequence": 2,
									"previous-event": "z8XjP9TGdEtUCPvA8hhiFeB2ypsLutWMWs1CgjgVcz9yP",
									"type": "authorise-operational-key",
									"payload": {
										"key-id": "time-0",
										"algorithm": "ES256",
										"public-key": "BAnwA02mSVGxhmBPJOxJN_lcwJ23DOJ7wCCKga5fFJLVKmCLhZozCiV6R-B8HVLavCYRiuFPojHlZ06zP5UsTao",
										"purposes": ["open-data-signing"],
										"not-before": null,
										"not-after": null
									},
									"signer-key-id": "controller-1",
									"created-at": "2026-09-02T13:26:29Z"
								},
								"authorisation": {
									"mode": "controller-signature",
									"signature": {
										"algorithm": "Ed25519",
										"value": "LNhNtCiQDbACtLMMq5UsxT8bikCTSwdEQR4kap-1EYGtiM4-3T3QsC-EL4UqyIJWFwe5zr5IjP37BgnartdMBQ"
									}
								}
							},
							{
								"body": {
									"protocol": "did:rep",
									"version": "0.1",
									"rep": "did:rep:zBtwycRi71CPA7MTBmkNbENBkUewHcUQ5XfRHPT3S7ZPK",
									"sequence": 3,
									"previous-event": "zAyu9TTctUrQvTTAT4LLtT36qpwfabqe6Wra9cYP39NVe",
									"type": "authorise-operational-key",
									"payload": {
										"key-id": "time-1",
										"algorithm": "ES256",
										"public-key": "BN9H6IwXA--91kaFn7MPACbF2bRmBYuuOwG5i-_U1MKpTaNajqAMAFge2mWJC1vUOO_7lrvWBNpw6niUz7xfTNE",
										"purposes": ["open-data-signing"],
										"not-before": null,
										"not-after": null
									},
									"signer-key-id": "controller-1",
									"created-at": "2026-09-02T13:50:21Z"
								},
								"authorisation": {
									"mode": "controller-signature",
									"signature": {
										"algorithm": "Ed25519",
										"value": "aXjA0Lvj4b1MBKivydt41gqO8PPn1caLoACP-CUfOCRpBiR11Bpdo8YhW3IeGFeHo7UuENoql_XI_4Xvv-EQAg"
									}
								}
							}
						]
					},
					"observed-time": "2026-09-04T00:41:53.266Z",
					"clock-source": {
						"type": "system-clock",
						"runtime": "cloudflare-worker"
					},
					"evidence-classification": "observed"
				},
				"proof": {
					"type": "rep-document-signature-v1",
					"rep": "did:rep:zBtwycRi71CPA7MTBmkNbENBkUewHcUQ5XfRHPT3S7ZPK",
					"operational-key-id": "time-1",
					"authorisation-event-hash": "z8oLFK4w16NBsrLLKfFTEn3RJK67CbpyoYrv4Qvk5Zp1H",
					"algorithm": "ES256",
					"created-at": "2026-09-04T00:41:53.266Z",
					"signature": "HBjmAYLirBiN8lArXM9A372lTxutH22-mMka3LZbf7FfZuVEC5bjTVgkSDmWaGgElBsRfLHU2_73Gg_5X9PWWg"
				}
			}
		},
		"proof": {
			"type": "rep-document-signature-v1",
			"rep": "did:rep:z4GcKhTyJWNfA2qWXs3JB4A4X4B33a1kF42rd2UDde6Gf",
			"operational-key-id": "publisher-0",
			"authorisation-event-hash": "z49NbgHdu4dnPVZA27uaZwr2EcgAdNQgUvgqQRtzD6RDs",
			"algorithm": "Ed25519",
			"created-at": "2026-09-04T00:42:39Z",
			"signature": "bHB1GMK8Wb7ZLPYV8eZN46GSZoQZSE8Q1jkkn7CR2-qwvkkcO5jGdVX4UAh8kc9mulUB-nsbHdHtgc7P7lq6Cw"
		}
	},
	"signer-provenance": {
		"type": "rep-signer-provenance-v1",
		"rep": "did:rep:z4GcKhTyJWNfA2qWXs3JB4A4X4B33a1kF42rd2UDde6Gf",
		"authority-events": [
			{
				"body": {
					"protocol": "did:rep",
					"version": "0.1",
					"rep": "did:rep:z4GcKhTyJWNfA2qWXs3JB4A4X4B33a1kF42rd2UDde6Gf",
					"sequence": 0,
					"previous-event": null,
					"type": "inception",
					"inception-core": {
						"protocol": "did:rep",
						"version": "0.1",
						"created-at": "2026-09-04T00:42:39Z",
						"nonce": "z9DHX2-iu1DG4uuQcdwVap9Q7ZHuj5UDqK2VCfTitKw",
						"controller": {
							"key-id": "controller-0",
							"algorithm": "Ed25519",
							"public-key": "XuczSUK3z87TQssFns_l6z_zX_wcr-8nA3MpatGtuBQ"
						},
						"supported-algorithms": ["Ed25519"],
						"initial-guardian-policy": null
					},
					"signer-key-id": "controller-0"
				},
				"signature": {
					"algorithm": "Ed25519",
					"value": "ld0Kvq9DpOWRExPriLLdUs025o-y_54iLlJwsDOa9nlXTVXniYVOTC6DOekIP8deewsmWXG53wJ68CZY6YkMDQ"
				}
			},
			{
				"body": {
					"protocol": "did:rep",
					"version": "0.1",
					"rep": "did:rep:z4GcKhTyJWNfA2qWXs3JB4A4X4B33a1kF42rd2UDde6Gf",
					"sequence": 1,
					"previous-event": "z9ycsw6cSavUgkbq17q8fe7dspdjXdztxPw2rd71rxxz3",
					"type": "authorise-operational-key",
					"payload": {
						"key-id": "publisher-0",
						"algorithm": "Ed25519",
						"public-key": "tO3BDmSyVkCxa7euDFQZDnqVTbfFAkg54fmkSLNTrFE",
						"purposes": ["open-data-signing"],
						"not-before": null,
						"not-after": null
					},
					"signer-key-id": "controller-0",
					"created-at": "2026-09-04T00:42:39Z"
				},
				"authorisation": {
					"mode": "controller-signature",
					"signature": {
						"algorithm": "Ed25519",
						"value": "UoyEu-oYPMZtd4pf9mpRHpoPKyI13r84kAax9XCXcv7jRIw1c5B8nPaHDDdkDPhC9RNxVPp9bPHqafAAXGYmAQ"
					}
				}
			}
		]
	}
}
