[{"data":1,"prerenderedAt":1032},["ShallowReactive",2],{"handbook-\u002Fhandbook\u002Fengineering\u002Fops\u002Fdedicated\u002F":3,"handbook-nav":195},{"id":4,"title":5,"body":6,"description":16,"extension":188,"meta":189,"navigation":190,"path":191,"seo":192,"stem":193,"__hash__":194},"handbook\u002Fhandbook\u002Fengineering\u002Fops\u002Fdedicated.md","FlowFuse Dedicated",{"type":7,"value":8,"toc":176},"minimark",[9,13,17,20,25,28,103,107,110,113,140,144,147,154,158,161,166,169,173],[10,11,5],"h1",{"id":12},"flowfuse-dedicated",[14,15,16],"p",{},"FlowFuse Dedicated is our product offering where we will host a dedicated instance\nof the platform for a customer.",[14,18,19],{},"This is a guide for the setup and delivery of a dedicated instance.",[21,22,24],"h3",{"id":23},"pre-deployment","Pre-deployment",[14,26,27],{},"In order to create the dedicated instance, some information will be required from the customer.",[29,30,31,75,85,91,97],"ul",{},[32,33,34,38,39],"li",{},[35,36,37],"strong",{},"A domain name or sub domain name to host the platform on",".\n",[29,40,41,49,60,69,72],{},[32,42,43,44,48],{},"By default, we will offer to host the platform under a domain of ",[45,46,47],"code",{},"\u003Ccustomer>.flowfuse.io",".",[32,50,51,52,55,56,59],{},"The core platform (",[45,53,54],{},"app.","), broker (",[45,57,58],{},"mqtt.",") and hosted instances will be made available under this domain.",[32,61,62,63,65,66],{},"The base domain, ",[45,64,47],{},", will redirect to ",[45,67,68],{},"app.\u003Ccustomer>.flowfuse.io",[32,70,71],{},"All traffic to the domain will be on port 443 - including the Device Agent MQTT connection",[32,73,74],{},"If the customer requests to use their own (sub-)domain, they will need to set up their DNS to point\nat the AWS Route53 end-point once it has been created.",[32,76,77,80,81,84],{},[35,78,79],{},"Choice of AWS region",". We default to ",[45,82,83],{},"eu-west-1"," but customers may want to choose one more\nlocal to them. Not all AWS regions are equal and we may need to review their choice for suitability.",[32,86,87,90],{},[35,88,89],{},"Capacity planning",". Whilst the platform will scale to meet demand, we want to sure we provision\nit at a suitable level for their intended usage. Understanding their planned usage and growth rate\nwill help us pick the right node size for the cluster.",[32,92,93,96],{},[35,94,95],{},"Team\u002FInstance types",". We will default to creating equivalent Team and Instance types as\nwe use on FFCloud. If a customer has specific needs in this area, this should be identified prior\nto deployment.",[32,98,99,102],{},[35,100,101],{},"SSO Configuration",". As with FFCloud, if the customer plans to integrate with their SSO provider,\nwe will need to capture the necessary information. This can be done after the initial deployment.",[21,104,106],{"id":105},"deployment","Deployment",[14,108,109],{},"An issue should be raised in the CloudProject repository using the Dedicated Checklist template\nand assigned to the member of the engineering\u002Fops team who will do the setup.",[14,111,112],{},"This checklist covers the follow items:",[114,115,116,119,122,125,128,131,134,137],"ol",{},[32,117,118],{},"Create a new AWS sub-account for each dedicated env.",[32,120,121],{},"Create user accounts for the ops team",[32,123,124],{},"Use Terraform to set up initial cluster",[32,126,127],{},"Setup grafana monitoring - including all the necessary alerting",[32,129,130],{},"Setup initial admin account - store details in 1Password",[32,132,133],{},"Setup initial Stacks, Instance Types and Team Types",[32,135,136],{},"Setup SSO for customer",[32,138,139],{},"Create initial account for customer admin user (if we’re giving them admin access)",[21,141,143],{"id":142},"migration","Migration",[14,145,146],{},"For existing customers of FFCloud who are choosing to move to a FFDedicated environment,\nwe need to consider how to migrate their existing account. This will need to be considered\non a case-by-case basis in discussion with the customer as there are a number of challenges\naround providing a seamless migration.",[14,148,149,150,153],{},"For example, we cannot migrate access tokens between platforms. This will require devices\nto be reprovisioned with new credentials as well as have their ",[45,151,152],{},"device.yml"," updated to point\nto the new platform URL.",[21,155,157],{"id":156},"maintenance","Maintenance",[14,159,160],{},"We will agree a maintenance policy with the customer to fit their needs. We will require\nthe code to be kept up to date - the question is how we schedule updates.",[162,163,165],"h4",{"id":164},"flowfuse-code-updates","FlowFuse Code Updates",[14,167,168],{},"We can either do CI\u002FCD as we do for FF Cloud, or apply updates following each monthly release.",[162,170,172],{"id":171},"k8s-updates","k8s Updates",[14,174,175],{},"We will coordinate maintenance windows with the customer for when we need to apply\nupdates to the underlying k8s infrastructure as this will require restarts of their\nNode-RED instances.",{"title":177,"searchDepth":178,"depth":178,"links":179},"",4,[180,182,183,184],{"id":23,"depth":181,"text":24},3,{"id":105,"depth":181,"text":106},{"id":142,"depth":181,"text":143},{"id":156,"depth":181,"text":157,"children":185},[186,187],{"id":164,"depth":178,"text":165},{"id":171,"depth":178,"text":172},"md",{},null,"\u002Fhandbook\u002Fengineering\u002Fops\u002Fdedicated",{"title":5,"description":16},"handbook\u002Fengineering\u002Fops\u002Fdedicated","FitvTQnE3Qy22cTdc6SmNrjJ1AGWmvRXMkC5_diuF7o",[196],{"title":197,"path":198,"stem":199,"children":200},"Handbook","\u002Fhandbook","handbook",[201,203,329,361,575,664,727,869,874],{"title":197,"path":198,"stem":202},"handbook\u002Findex",{"title":204,"group":204,"icon":205,"order":206,"path":207,"stem":208,"children":209},"Company","i-lucide-building-2",1,"\u002Fhandbook\u002Fcompany","handbook\u002Fcompany\u002Findex",[210,211,215,219,223,242,246,250,254,321,325],{"title":204,"path":207,"stem":208},{"title":212,"path":213,"stem":214},"Board & Investors","\u002Fhandbook\u002Fcompany\u002Fboard","handbook\u002Fcompany\u002Fboard",{"title":216,"path":217,"stem":218},"Communications","\u002Fhandbook\u002Fcompany\u002Fcommunication","handbook\u002Fcompany\u002Fcommunication",{"title":220,"path":221,"stem":222},"Decision making and project management","\u002Fhandbook\u002Fcompany\u002Fdecisions","handbook\u002Fcompany\u002Fdecisions",{"title":224,"icon":225,"path":226,"stem":227,"children":228},"Guides","i-lucide-book-open","\u002Fhandbook\u002Fcompany\u002Fguides","handbook\u002Fcompany\u002Fguides\u002Findex",[229,230,234,238],{"title":224,"path":226,"stem":227},{"title":231,"path":232,"stem":233},"Editing the Handbook","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fgit","handbook\u002Fcompany\u002Fguides\u002Fgit",{"title":235,"path":236,"stem":237},"Google Workspace","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fgworkspace","handbook\u002Fcompany\u002Fguides\u002Fgworkspace",{"title":239,"path":240,"stem":241},"Markdown Guide","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fmarkdown","handbook\u002Fcompany\u002Fguides\u002Fmarkdown",{"title":243,"path":244,"stem":245},"Organizational Structure","\u002Fhandbook\u002Fcompany\u002Forganizational-structure","handbook\u002Fcompany\u002Forganizational-structure",{"title":247,"path":248,"stem":249},"Principles","\u002Fhandbook\u002Fcompany\u002Fprinciples","handbook\u002Fcompany\u002Fprinciples",{"title":251,"path":252,"stem":253},"Remote Work","\u002Fhandbook\u002Fcompany\u002Fremote","handbook\u002Fcompany\u002Fremote",{"title":255,"icon":256,"path":257,"stem":258,"children":259},"Security","i-lucide-shield","\u002Fhandbook\u002Fcompany\u002Fsecurity","handbook\u002Fcompany\u002Fsecurity\u002Findex",[260,261,265,269,273,277,281,285,289,293,297,301,305,309,313,317],{"title":255,"path":257,"stem":258},{"title":262,"path":263,"stem":264},"Access Control Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Faccess-control","handbook\u002Fcompany\u002Fsecurity\u002Faccess-control",{"title":266,"path":267,"stem":268},"AI Development and Customer Data Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fai-development-and-customer-data","handbook\u002Fcompany\u002Fsecurity\u002Fai-development-and-customer-data",{"title":270,"path":271,"stem":272},"Asset Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fasset-management","handbook\u002Fcompany\u002Fsecurity\u002Fasset-management",{"title":274,"path":275,"stem":276},"Business Continuity & Disaster Recovery Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fbusiness-continuity","handbook\u002Fcompany\u002Fsecurity\u002Fbusiness-continuity",{"title":278,"path":279,"stem":280},"Hardware Security Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fcomputer-security","handbook\u002Fcompany\u002Fsecurity\u002Fcomputer-security",{"title":282,"path":283,"stem":284},"Cryptography Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fcryptography","handbook\u002Fcompany\u002Fsecurity\u002Fcryptography",{"title":286,"path":287,"stem":288},"Data Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fdata-management","handbook\u002Fcompany\u002Fsecurity\u002Fdata-management",{"title":290,"path":291,"stem":292},"Human Resources Security Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fhuman-resources","handbook\u002Fcompany\u002Fsecurity\u002Fhuman-resources",{"title":294,"path":295,"stem":296},"Incident Response Plan","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fincident-response","handbook\u002Fcompany\u002Fsecurity\u002Fincident-response",{"title":298,"path":299,"stem":300},"Information Security Policy and Acceptable Use Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Finformation-security","handbook\u002Fcompany\u002Fsecurity\u002Finformation-security",{"title":302,"path":303,"stem":304},"Information Security Roles and Responsibilities","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Finformation-security-roles","handbook\u002Fcompany\u002Fsecurity\u002Finformation-security-roles",{"title":306,"path":307,"stem":308},"Operations Security Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Foperations-security","handbook\u002Fcompany\u002Fsecurity\u002Foperations-security",{"title":310,"path":311,"stem":312},"Risk Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Frisk-management","handbook\u002Fcompany\u002Fsecurity\u002Frisk-management",{"title":314,"path":315,"stem":316},"Secure Development Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fsecure-development","handbook\u002Fcompany\u002Fsecurity\u002Fsecure-development",{"title":318,"path":319,"stem":320},"Third-Party Risk Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fthird-party-risk-management","handbook\u002Fcompany\u002Fsecurity\u002Fthird-party-risk-management",{"title":322,"path":323,"stem":324},"Strategy","\u002Fhandbook\u002Fcompany\u002Fstrategy","handbook\u002Fcompany\u002Fstrategy",{"title":326,"path":327,"stem":328},"Values","\u002Fhandbook\u002Fcompany\u002Fvalues","handbook\u002Fcompany\u002Fvalues",{"title":330,"group":331,"icon":332,"order":178,"path":333,"stem":334,"children":335},"Design","Engineering & Design Practices","i-lucide-pen-tool","\u002Fhandbook\u002Fdesign","handbook\u002Fdesign\u002Findex",[336,337,341,345,349,353,357],{"title":330,"path":333,"stem":334},{"title":338,"path":339,"stem":340},"Art Requests","\u002Fhandbook\u002Fdesign\u002Fart-requests","handbook\u002Fdesign\u002Fart-requests",{"title":342,"path":343,"stem":344},"Branding","\u002Fhandbook\u002Fdesign\u002Fbranding","handbook\u002Fdesign\u002Fbranding",{"title":346,"path":347,"stem":348},"Design Thinking","\u002Fhandbook\u002Fdesign\u002Fdesign-thinking","handbook\u002Fdesign\u002Fdesign-thinking",{"title":350,"path":351,"stem":352},"Process","\u002Fhandbook\u002Fdesign\u002Fprocess","handbook\u002Fdesign\u002Fprocess",{"title":354,"path":355,"stem":356},"Tools","\u002Fhandbook\u002Fdesign\u002Ftools","handbook\u002Fdesign\u002Ftools",{"title":358,"path":359,"stem":360},"Video","\u002Fhandbook\u002Fdesign\u002Fvideos","handbook\u002Fdesign\u002Fvideos",{"title":362,"group":331,"icon":363,"order":181,"path":364,"stem":365,"children":366},"Engineering","i-lucide-code-2","\u002Fhandbook\u002Fengineering","handbook\u002Fengineering\u002Findex",[367,368,372,387,391,395,399,422,461,465,522,526,553,557,572],{"title":362,"path":364,"stem":365},{"title":369,"path":370,"stem":371},"Blueprints","\u002Fhandbook\u002Fengineering\u002Fblueprints","handbook\u002Fengineering\u002Fblueprints",{"title":373,"icon":374,"path":375,"stem":376,"children":377},"Contributing","i-lucide-git-pull-request","\u002Fhandbook\u002Fengineering\u002Fcontributing","handbook\u002Fengineering\u002Fcontributing\u002Findex",[378,379,383],{"title":373,"path":375,"stem":376},{"title":380,"path":381,"stem":382},"FF Tables","\u002Fhandbook\u002Fengineering\u002Fcontributing\u002Fff-tables","handbook\u002Fengineering\u002Fcontributing\u002Fff-tables",{"title":384,"path":385,"stem":386},"Team NPM Registry","\u002Fhandbook\u002Fengineering\u002Fcontributing\u002Fteam-npm-registry","handbook\u002Fengineering\u002Fcontributing\u002Fteam-npm-registry",{"title":388,"path":389,"stem":390},"Node-RED Dashboard","\u002Fhandbook\u002Fengineering\u002Fdashboard","handbook\u002Fengineering\u002Fdashboard",{"title":392,"path":393,"stem":394},"Dependency Updates","\u002Fhandbook\u002Fengineering\u002Fdependency-updates","handbook\u002Fengineering\u002Fdependency-updates",{"title":396,"path":397,"stem":398},"Feature Flags in PostHog","\u002Fhandbook\u002Fengineering\u002Ffeature-flags","handbook\u002Fengineering\u002Ffeature-flags",{"title":400,"icon":401,"path":402,"stem":403,"children":404},"Front End","i-lucide-layout-dashboard","\u002Fhandbook\u002Fengineering\u002Ffrontend","handbook\u002Fengineering\u002Ffrontend\u002Findex",[405,406,410,414,418],{"title":400,"path":402,"stem":403},{"title":407,"path":408,"stem":409},"Data Attributes","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Fdata-attributes","handbook\u002Fengineering\u002Ffrontend\u002Fdata-attributes",{"title":411,"path":412,"stem":413},"Front-End Layouts","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Flayouts","handbook\u002Fengineering\u002Ffrontend\u002Flayouts",{"title":415,"path":416,"stem":417},"Front-End Services","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Fservices","handbook\u002Fengineering\u002Ffrontend\u002Fservices",{"title":419,"path":420,"stem":421},"Front-End Testing","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Ftesting","handbook\u002Fengineering\u002Ffrontend\u002Ftesting",{"title":423,"icon":424,"path":425,"stem":426,"children":427},"Platform Ops","i-lucide-server","\u002Fhandbook\u002Fengineering\u002Fops","handbook\u002Fengineering\u002Fops\u002Findex",[428,429,433,434,437,441,445,449,453,457],{"title":423,"path":425,"stem":426},{"title":430,"path":431,"stem":432},"Certified Nodes","\u002Fhandbook\u002Fengineering\u002Fops\u002Fcertified-nodes","handbook\u002Fengineering\u002Fops\u002Fcertified-nodes",{"title":5,"path":191,"stem":193},{"title":106,"path":435,"stem":436},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fdeployment","handbook\u002Fengineering\u002Fops\u002Fdeployment",{"title":438,"path":439,"stem":440},"Incident Response","\u002Fhandbook\u002Fengineering\u002Fops\u002Fincident-response","handbook\u002Fengineering\u002Fops\u002Fincident-response",{"title":442,"path":443,"stem":444},"Observability","\u002Fhandbook\u002Fengineering\u002Fops\u002Fobservability","handbook\u002Fengineering\u002Fops\u002Fobservability",{"title":446,"path":447,"stem":448},"Production Environment","\u002Fhandbook\u002Fengineering\u002Fops\u002Fproduction","handbook\u002Fengineering\u002Fops\u002Fproduction",{"title":450,"path":451,"stem":452},"Update Stacks on Production","\u002Fhandbook\u002Fengineering\u002Fops\u002Fproduction-stack-update","handbook\u002Fengineering\u002Fops\u002Fproduction-stack-update",{"title":454,"path":455,"stem":456},"Self Hosted Assistant","\u002Fhandbook\u002Fengineering\u002Fops\u002Fself-hosted-assistant","handbook\u002Fengineering\u002Fops\u002Fself-hosted-assistant",{"title":458,"path":459,"stem":460},"Staging Environment","\u002Fhandbook\u002Fengineering\u002Fops\u002Fstaging","handbook\u002Fengineering\u002Fops\u002Fstaging",{"title":462,"path":463,"stem":464},"Packaging Guidelines","\u002Fhandbook\u002Fengineering\u002Fpackaging","handbook\u002Fengineering\u002Fpackaging",{"title":466,"icon":467,"path":468,"stem":469,"children":470},"Product","i-lucide-package","\u002Fhandbook\u002Fengineering\u002Fproduct","handbook\u002Fengineering\u002Fproduct\u002Findex",[471,472,476,480,484,488,492,499,503,506,510,514,518],{"title":466,"path":468,"stem":469},{"title":473,"path":474,"stem":475},"Feature Catalog","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Ffeatures","handbook\u002Fengineering\u002Fproduct\u002Ffeatures",{"title":477,"path":478,"stem":479},"Feedback","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Ffeedback","handbook\u002Fengineering\u002Fproduct\u002Ffeedback",{"title":481,"path":482,"stem":483},"Glossary","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fglossary","handbook\u002Fengineering\u002Fproduct\u002Fglossary",{"title":485,"path":486,"stem":487},"Methodology","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fmethodology","handbook\u002Fengineering\u002Fproduct\u002Fmethodology",{"title":489,"path":490,"stem":491},"Metrics","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fmetrics","handbook\u002Fengineering\u002Fproduct\u002Fmetrics",{"title":493,"path":494,"stem":495,"children":496,"icon":498},"Personas","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fpersonas","handbook\u002Fengineering\u002Fproduct\u002Fpersonas\u002Findex",[497],{"title":493,"path":494,"stem":495},"i-lucide-user-circle",{"title":500,"path":501,"stem":502},"Pricing Principles","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fpricing","handbook\u002Fengineering\u002Fproduct\u002Fpricing",{"title":247,"path":504,"stem":505},"\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fprinciples","handbook\u002Fengineering\u002Fproduct\u002Fprinciples",{"title":507,"path":508,"stem":509},"Product Swimlanes","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fproduct-swimlanes","handbook\u002Fengineering\u002Fproduct\u002Fproduct-swimlanes",{"title":511,"path":512,"stem":513},"Product Growth","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Ftelemetry","handbook\u002Fengineering\u002Fproduct\u002Ftelemetry",{"title":515,"path":516,"stem":517},"Versioning","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fversioning","handbook\u002Fengineering\u002Fproduct\u002Fversioning",{"title":519,"path":520,"stem":521},"Market Segments","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fverticals","handbook\u002Fengineering\u002Fproduct\u002Fverticals",{"title":523,"path":524,"stem":525},"Project Management","\u002Fhandbook\u002Fengineering\u002Fproject-management","handbook\u002Fengineering\u002Fproject-management",{"title":527,"icon":528,"path":529,"stem":530,"children":531},"Releases","i-lucide-rocket","\u002Fhandbook\u002Fengineering\u002Freleases","handbook\u002Fengineering\u002Freleases\u002Findex",[532,533,537,541,545,549],{"title":527,"path":529,"stem":530},{"title":534,"path":535,"stem":536},"Dashboard 2.0 Releases","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fdashboard-2","handbook\u002Fengineering\u002Freleases\u002Fdashboard-2",{"title":538,"path":539,"stem":540},"Release Process - Digital Ocean","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fdigital-ocean","handbook\u002Fengineering\u002Freleases\u002Fdigital-ocean",{"title":542,"path":543,"stem":544},"Release Process","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fprocess","handbook\u002Fengineering\u002Freleases\u002Fprocess",{"title":546,"path":547,"stem":548},"Release Blogs","\u002Fhandbook\u002Fengineering\u002Freleases\u002Frelease-blogs","handbook\u002Fengineering\u002Freleases\u002Frelease-blogs",{"title":550,"path":551,"stem":552},"Changelog Posts","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fwriting-changelog","handbook\u002Fengineering\u002Freleases\u002Fwriting-changelog",{"title":554,"path":555,"stem":556},"Security Policy","\u002Fhandbook\u002Fengineering\u002Fsecurity","handbook\u002Fengineering\u002Fsecurity",{"title":558,"path":559,"stem":560,"children":561,"icon":571},"Support","\u002Fhandbook\u002Fengineering\u002Fsupport","handbook\u002Fengineering\u002Fsupport\u002Findex",[562,563,567],{"title":558,"path":559,"stem":560},{"title":564,"path":565,"stem":566},"Triage Duty","\u002Fhandbook\u002Fengineering\u002Fsupport\u002Ftriage","handbook\u002Fengineering\u002Fsupport\u002Ftriage",{"title":568,"path":569,"stem":570},"Troubleshooting","\u002Fhandbook\u002Fengineering\u002Fsupport\u002Ftroubleshooting","handbook\u002Fengineering\u002Fsupport\u002Ftroubleshooting","i-lucide-life-buoy",{"title":354,"path":573,"stem":574},"\u002Fhandbook\u002Fengineering\u002Ftools","handbook\u002Fengineering\u002Ftools",{"title":576,"group":577,"icon":578,"order":579,"path":580,"stem":581,"children":582},"Marketing","Marketing department","i-lucide-megaphone",6,"\u002Fhandbook\u002Fmarketing","handbook\u002Fmarketing\u002Findex",[583,584,590,594,609,628,632,636,640,644,648,652,656,660],{"title":576,"path":580,"stem":581},{"title":585,"path":586,"stem":587,"children":588},"Account-Based Marketing","\u002Fhandbook\u002Fmarketing\u002Faccount-based-marketing","handbook\u002Fmarketing\u002Faccount-based-marketing\u002Findex",[589],{"title":585,"path":586,"stem":587},{"title":591,"path":592,"stem":593},"Brand Voice","\u002Fhandbook\u002Fmarketing\u002Fbrand-voice","handbook\u002Fmarketing\u002Fbrand-voice",{"title":595,"icon":596,"path":597,"stem":598,"children":599},"Community","i-lucide-users-2","\u002Fhandbook\u002Fmarketing\u002Fcommunity","handbook\u002Fmarketing\u002Fcommunity\u002Findex",[600,601,605],{"title":595,"path":597,"stem":598},{"title":602,"path":603,"stem":604},"Community Guidelines","\u002Fhandbook\u002Fmarketing\u002Fcommunity\u002Fcommunity-guidelines","handbook\u002Fmarketing\u002Fcommunity\u002Fcommunity-guidelines",{"title":606,"path":607,"stem":608},"Forums And Support","\u002Fhandbook\u002Fmarketing\u002Fcommunity\u002Fforums-and-support","handbook\u002Fmarketing\u002Fcommunity\u002Fforums-and-support",{"title":610,"icon":611,"path":612,"stem":613,"children":614,"order":206},"Content Strategy","i-lucide-file-text","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy","handbook\u002Fmarketing\u002Fcontent-strategy\u002Findex",[615,616,620,624],{"title":610,"path":612,"stem":613,"order":206},{"title":617,"path":618,"stem":619},"Blog","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy\u002Fblog","handbook\u002Fmarketing\u002Fcontent-strategy\u002Fblog",{"title":621,"path":622,"stem":623},"Customer Stories","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy\u002Fcustomer-stories","handbook\u002Fmarketing\u002Fcontent-strategy\u002Fcustomer-stories",{"title":625,"path":626,"stem":627},"Webinars","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy\u002Fwebinars","handbook\u002Fmarketing\u002Fcontent-strategy\u002Fwebinars",{"title":629,"path":630,"stem":631},"Events","\u002Fhandbook\u002Fmarketing\u002Fevents","handbook\u002Fmarketing\u002Fevents",{"title":633,"path":634,"stem":635},"How we work","\u002Fhandbook\u002Fmarketing\u002Fhow-we-work","handbook\u002Fmarketing\u002Fhow-we-work",{"title":637,"path":638,"stem":639},"Lead Activation","\u002Fhandbook\u002Fmarketing\u002Flead-activation","handbook\u002Fmarketing\u002Flead-activation",{"title":641,"path":642,"stem":643},"Lead Generation","\u002Fhandbook\u002Fmarketing\u002Fleads","handbook\u002Fmarketing\u002Fleads",{"title":645,"path":646,"stem":647},"Company Messaging","\u002Fhandbook\u002Fmarketing\u002Fmessaging","handbook\u002Fmarketing\u002Fmessaging",{"title":649,"path":650,"stem":651},"Marketing Programs","\u002Fhandbook\u002Fmarketing\u002Fprograms","handbook\u002Fmarketing\u002Fprograms",{"title":653,"path":654,"stem":655},"Sales Development Representative (SDR)","\u002Fhandbook\u002Fmarketing\u002Fsdr","handbook\u002Fmarketing\u002Fsdr",{"title":657,"path":658,"stem":659},"Social Media","\u002Fhandbook\u002Fmarketing\u002Fsocial-media","handbook\u002Fmarketing\u002Fsocial-media",{"title":661,"path":662,"stem":663},"Website","\u002Fhandbook\u002Fmarketing\u002Fwebsite","handbook\u002Fmarketing\u002Fwebsite",{"title":665,"group":204,"icon":666,"order":667,"path":668,"stem":669,"children":670},"Operations","i-lucide-settings-2",2,"\u002Fhandbook\u002Foperations","handbook\u002Foperations\u002Findex",[671,672,676,680,684,707,711,715,719,723],{"title":665,"path":668,"stem":669},{"title":673,"path":674,"stem":675},"Accounting","\u002Fhandbook\u002Foperations\u002Faccounting","handbook\u002Foperations\u002Faccounting",{"title":677,"path":678,"stem":679},"Accounts","\u002Fhandbook\u002Foperations\u002Faccounts","handbook\u002Foperations\u002Faccounts",{"title":681,"path":682,"stem":683},"Billing","\u002Fhandbook\u002Foperations\u002Fbilling","handbook\u002Foperations\u002Fbilling",{"title":685,"icon":686,"path":687,"stem":688,"children":689},"CEO Ops","i-lucide-briefcase","\u002Fhandbook\u002Foperations\u002Fceo-ops","handbook\u002Foperations\u002Fceo-ops\u002Findex",[690,691,695,699,703],{"title":685,"path":687,"stem":688},{"title":692,"path":693,"stem":694},"Calendar Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Fcalendar-management","handbook\u002Foperations\u002Fceo-ops\u002Fcalendar-management",{"title":696,"path":697,"stem":698},"Inbox Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Finbox-management","handbook\u002Foperations\u002Fceo-ops\u002Finbox-management",{"title":700,"path":701,"stem":702},"Task Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Ftask-managment","handbook\u002Foperations\u002Fceo-ops\u002Ftask-managment",{"title":704,"path":705,"stem":706},"Travel Booking","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Ftravel-booking","handbook\u002Foperations\u002Fceo-ops\u002Ftravel-booking",{"title":708,"path":709,"stem":710},"Change Control","\u002Fhandbook\u002Foperations\u002Fchange","handbook\u002Foperations\u002Fchange",{"title":712,"path":713,"stem":714},"Commission Payment","\u002Fhandbook\u002Foperations\u002Fcommission-payment","handbook\u002Foperations\u002Fcommission-payment",{"title":716,"path":717,"stem":718},"Data at FlowFuse","\u002Fhandbook\u002Foperations\u002Fdata","handbook\u002Foperations\u002Fdata",{"title":720,"path":721,"stem":722},"Signatures","\u002Fhandbook\u002Foperations\u002Fsignatures","handbook\u002Foperations\u002Fsignatures",{"title":724,"path":725,"stem":726},"Vendors","\u002Fhandbook\u002Foperations\u002Fvendors","handbook\u002Foperations\u002Fvendors",{"title":728,"group":729,"icon":730,"order":731,"path":732,"stem":733,"children":734},"People Ops","Internal Operations","i-lucide-users",5,"\u002Fhandbook\u002Fpeopleops","handbook\u002Fpeopleops\u002Findex",[735,736,740,744,748,752,756,779,845,849,853,857,861,865],{"title":728,"path":732,"stem":733},{"title":737,"path":738,"stem":739},"Coaching Plans","\u002Fhandbook\u002Fpeopleops\u002Fcoaching-plans","handbook\u002Fpeopleops\u002Fcoaching-plans",{"title":741,"path":742,"stem":743},"Code of Conduct","\u002Fhandbook\u002Fpeopleops\u002Fcode-of-conduct","handbook\u002Fpeopleops\u002Fcode-of-conduct",{"title":745,"path":746,"stem":747},"Compensation","\u002Fhandbook\u002Fpeopleops\u002Fcompensation","handbook\u002Fpeopleops\u002Fcompensation",{"title":749,"path":750,"stem":751},"Compliance & Regulatory","\u002Fhandbook\u002Fpeopleops\u002Fcompliance","handbook\u002Fpeopleops\u002Fcompliance",{"title":753,"path":754,"stem":755},"Expenses","\u002Fhandbook\u002Fpeopleops\u002Fexpenses","handbook\u002Fpeopleops\u002Fexpenses",{"title":757,"icon":758,"path":759,"stem":760,"children":761},"Hiring","i-lucide-user-plus","\u002Fhandbook\u002Fpeopleops\u002Fhiring","handbook\u002Fpeopleops\u002Fhiring\u002Findex",[762,763,767,771,775],{"title":757,"path":759,"stem":760},{"title":764,"path":765,"stem":766},"GitHub Navigation","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Fgithub-navigation","handbook\u002Fpeopleops\u002Fhiring\u002Fgithub-navigation",{"title":768,"path":769,"stem":770},"Working with Recruiters","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Frecruiters","handbook\u002Fpeopleops\u002Fhiring\u002Frecruiters",{"title":772,"path":773,"stem":774},"Screening Call","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Fscreening-call","handbook\u002Fpeopleops\u002Fhiring\u002Fscreening-call",{"title":776,"path":777,"stem":778},"STAR Questions","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Fstar-questions","handbook\u002Fpeopleops\u002Fhiring\u002Fstar-questions",{"title":780,"icon":781,"path":782,"stem":783,"children":784},"Job Descriptions","i-lucide-file-badge","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Findex",[785,786,790,794,798,802,806,810,814,818,822,826,830,834,837,841],{"title":780,"path":782,"stem":783},{"title":787,"path":788,"stem":789},"Account Executive","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Faccount-executive","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Faccount-executive",{"title":791,"path":792,"stem":793},"CEO","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fceo","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fceo",{"title":795,"path":796,"stem":797},"Chief of Staff","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fchief-of-staff","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fchief-of-staff",{"title":799,"path":800,"stem":801},"CTO","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fcto","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fcto",{"title":803,"path":804,"stem":805},"Engineering Levels","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-levels","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-levels",{"title":807,"path":808,"stem":809},"Engineering Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-manager",{"title":811,"path":812,"stem":813},"Fullstack Engineer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer",{"title":815,"path":816,"stem":817},"Fullstack Engineer (AI-Focused)","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer-ai","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer-ai",{"title":819,"path":820,"stem":821},"Head of Marketing","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fhead-of-marketing","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fhead-of-marketing",{"title":823,"path":824,"stem":825},"Lead Product Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Flead-product-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Flead-product-manager",{"title":827,"path":828,"stem":829},"Product Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-manager",{"title":831,"path":832,"stem":833},"Product Marketer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-marketer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-marketer",{"title":653,"path":835,"stem":836},"\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsales-development-representative","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsales-development-representative",{"title":838,"path":839,"stem":840},"Solutions Engineer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsolutions-engineer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsolutions-engineer",{"title":842,"path":843,"stem":844},"VP of Sales","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fvp-sales","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fvp-sales",{"title":846,"path":847,"stem":848},"Holiday & Leave","\u002Fhandbook\u002Fpeopleops\u002Fleave","handbook\u002Fpeopleops\u002Fleave",{"title":850,"path":851,"stem":852},"PeopleOps Policies","\u002Fhandbook\u002Fpeopleops\u002Forganization","handbook\u002Fpeopleops\u002Forganization",{"title":854,"path":855,"stem":856},"Performance review","\u002Fhandbook\u002Fpeopleops\u002Fperformance-review","handbook\u002Fpeopleops\u002Fperformance-review",{"title":858,"path":859,"stem":860},"Summit","\u002Fhandbook\u002Fpeopleops\u002Fsummit","handbook\u002Fpeopleops\u002Fsummit",{"title":862,"path":863,"stem":864},"Travel","\u002Fhandbook\u002Fpeopleops\u002Ftravel","handbook\u002Fpeopleops\u002Ftravel",{"title":866,"path":867,"stem":868},"U.S. Compliance Policies","\u002Fhandbook\u002Fpeopleops\u002Fus-compliance","handbook\u002Fpeopleops\u002Fus-compliance",{"title":870,"path":871,"stem":872,"group":197,"order":873},"Recent Updates","\u002Fhandbook\u002Frecent-changes","handbook\u002Frecent-changes",0,{"title":875,"group":875,"icon":876,"order":877,"path":878,"stem":879,"children":880},"Commercial Organization","i-lucide-trending-up",7,"\u002Fhandbook\u002Fsales","handbook\u002Fsales\u002Findex",[881,882,890,895,899,904,910,915,920,925,930,935,940,964,969,973,977,983,988,996,1000,1004,1009,1013,1017,1022,1027],{"title":875,"path":878,"stem":879},{"title":883,"path":884,"stem":885,"children":886,"order":888,"icon":889},"Sales Compensation Plan","\u002Fhandbook\u002Fsales\u002Fcommission-plan","handbook\u002Fsales\u002Fcommission-plan\u002Findex",[887],{"title":883,"path":884,"stem":885},22,"i-lucide-dollar-sign",{"title":891,"path":892,"stem":893,"order":894},"Customer Journey Alignment","\u002Fhandbook\u002Fsales\u002Fcustomer-journey","handbook\u002Fsales\u002Fcustomer-journey",10,{"title":896,"path":897,"stem":898,"order":181},"Customer Success","\u002Fhandbook\u002Fsales\u002Fcustomer-success","handbook\u002Fsales\u002Fcustomer-success",{"title":900,"path":901,"stem":902,"order":903},"Self Hosted Dashboard v2 Multi User","\u002Fhandbook\u002Fsales\u002Fdashboard-v2","handbook\u002Fsales\u002Fdashboard-v2",20,{"title":905,"path":906,"stem":907,"order":908,"icon":909},"Demo Apps","\u002Fhandbook\u002Fsales\u002Fdemo-apps","handbook\u002Fsales\u002Fdemo-apps",13.7,"i-lucide-layout-grid",{"title":911,"path":912,"stem":913,"order":914},"Edge Connectivity Sales Process","\u002Fhandbook\u002Fsales\u002Fedge-connect-process","handbook\u002Fsales\u002Fedge-connect-process",19,{"title":916,"path":917,"stem":918,"order":919},"Engagements & Pricing","\u002Fhandbook\u002Fsales\u002Fengagements","handbook\u002Fsales\u002Fengagements",14,{"title":921,"path":922,"stem":923,"order":924,"icon":424},"FlowFuse Trial Environment","\u002Fhandbook\u002Fsales\u002Fflowfuse-trial-environment","handbook\u002Fsales\u002Fflowfuse-trial-environment",13.6,{"title":926,"path":927,"stem":928,"order":929},"Forecast Review","\u002Fhandbook\u002Fsales\u002Fforecast-review","handbook\u002Fsales\u002Fforecast-review",15,{"title":931,"path":932,"stem":933,"order":934},"HubSpot","\u002Fhandbook\u002Fsales\u002Fhubspot","handbook\u002Fsales\u002Fhubspot",16,{"title":936,"path":937,"stem":938,"order":939},"Legal","\u002Fhandbook\u002Fsales\u002Flegal","handbook\u002Fsales\u002Flegal",21,{"title":941,"order":942,"icon":943,"path":944,"stem":945,"children":946},"Sales Meetings",13,"i-lucide-calendar","\u002Fhandbook\u002Fsales\u002Fmeetings","handbook\u002Fsales\u002Fmeetings\u002Findex",[947,948,952,956,960],{"title":941,"path":944,"stem":945},{"title":949,"path":950,"stem":951,"order":667},"Demo","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fdemo","handbook\u002Fsales\u002Fmeetings\u002Fdemo",{"title":953,"path":954,"stem":955,"order":206},"Discovery Meeting","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fdiscovery","handbook\u002Fsales\u002Fmeetings\u002Fdiscovery",{"title":957,"path":958,"stem":959,"order":178},"Proof of Value","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fpov","handbook\u002Fsales\u002Fmeetings\u002Fpov",{"title":961,"path":962,"stem":963,"order":181},"Solution","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fsolution","handbook\u002Fsales\u002Fmeetings\u002Fsolution",{"title":965,"path":966,"stem":967,"order":968},"Onboarding & Development","\u002Fhandbook\u002Fsales\u002Fonboarding","handbook\u002Fsales\u002Fonboarding",11,{"title":970,"path":971,"stem":972,"order":579},"Commercial Team Operating Principles","\u002Fhandbook\u002Fsales\u002Foperating-principles","handbook\u002Fsales\u002Foperating-principles",{"title":974,"path":975,"stem":976,"order":731},"Partnerships","\u002Fhandbook\u002Fsales\u002Fpartnerships","handbook\u002Fsales\u002Fpartnerships",{"title":978,"path":979,"stem":980,"order":981,"icon":982},"PoV Workbook","\u002Fhandbook\u002Fsales\u002Fpov-workbook","handbook\u002Fsales\u002Fpov-workbook",13.5,"i-lucide-clipboard-list",{"title":984,"path":985,"stem":986,"order":987},"Pricing Decks","\u002Fhandbook\u002Fsales\u002Fpricing-decks","handbook\u002Fsales\u002Fpricing-decks",18,{"title":989,"path":990,"stem":991,"children":992,"order":994,"icon":995},"Processes","\u002Fhandbook\u002Fsales\u002Fprocesses","handbook\u002Fsales\u002Fprocesses\u002Findex",[993],{"title":989,"path":990,"stem":991},12,"i-lucide-workflow",{"title":997,"path":998,"stem":999,"order":178},"Professional Services","\u002Fhandbook\u002Fsales\u002Fprofessional-services","handbook\u002Fsales\u002Fprofessional-services",{"title":1001,"path":1002,"stem":1003,"order":877},"Sales Regions","\u002Fhandbook\u002Fsales\u002Fregions","handbook\u002Fsales\u002Fregions",{"title":1005,"path":1006,"stem":1007,"order":1008},"Sales Deck","\u002Fhandbook\u002Fsales\u002Fsales-deck","handbook\u002Fsales\u002Fsales-deck",17,{"title":1010,"path":1011,"stem":1012,"order":206},"Sales","\u002Fhandbook\u002Fsales\u002Fsales-team","handbook\u002Fsales\u002Fsales-team",{"title":1014,"path":1015,"stem":1016,"order":667},"Solution Engineering","\u002Fhandbook\u002Fsales\u002Fsolution-engineering","handbook\u002Fsales\u002Fsolution-engineering",{"title":1018,"path":1019,"stem":1020,"order":1021},"Subscription Agreement 1.5","\u002Fhandbook\u002Fsales\u002Fsubscription-agreement-1.5","handbook\u002Fsales\u002Fsubscription-agreement-1.5",23,{"title":1023,"path":1024,"stem":1025,"order":1026},"Systems & Tools","\u002Fhandbook\u002Fsales\u002Ftools","handbook\u002Fsales\u002Ftools",8,{"title":1028,"path":1029,"stem":1030,"order":1031},"Working Norms","\u002Fhandbook\u002Fsales\u002Fworking-norms","handbook\u002Fsales\u002Fworking-norms",9,1787058564332]