{"registry_version":"2026.1025.387","generated_at":"2026-10-25T06:27:00Z","content_sha256":"089d16f627d9365e3d0663cc8069203706d7cb23a76c332226e29686968811a5","signed":true,"signature":{"key_id":"ed25519:74ca19268e364242","algorithm":"ed25519","expires_at":"2026-11-24T06:27:09Z","expired":false,"manifest":"/registry/manifest.json"},"id":"meta/developer-app","name":"Meta Developer Account and App","vendor":"Meta","status":"researched","last_verified":null,"last_researched":"2026-10-25","summary":"Register as a Meta developer with your Facebook account, then create an app in the App Dashboard to get an App ID and App Secret. New apps start in Development mode, usable only by people with a role on the app, until App Review approves permissions and the app is switched to Live.","account_model":{"summary":"The developer account is your personal Facebook account with developer registration switched on. Apps are created by a developer and can be connected to a company's business portfolio, which then owns them. People get roles (admin, developer, tester) on each app.","accounts":[{"name":"Facebook account","kind":"personal","owned_by":"the person","required":true,"note":"Must be the person's own authentic account; the Developer Policies say to develop and manage apps with an authentic account."},{"name":"Meta developer registration","kind":"developer","owned_by":"the person","parent":"Facebook account","required":true},{"name":"Meta app (App ID)","kind":"project","owned_by":"the company (once connected to its business portfolio)","parent":"Meta developer registration","required":true,"note":"A developer can hold a developer or admin role on at most 15 apps not connected to a verified business; archived apps count."},{"name":"Business portfolio","kind":"organisation","owned_by":"the company","required":false,"note":"Required if the app accesses data you don't own or manage; can be connected during creation or later."}],"notes":["Add a second admin to every production app so access survives one person leaving or being locked out."]},"prerequisites":[{"need":"A personal Facebook account in good standing","note":"Registration happens while logged in to Facebook."},{"entry":"meta/business-portfolio","note":"Optional at creation, but needed for apps that access data you don't own or manage, and for business verification."}],"identity_requires":["app_name","support_email","privacy_policy_url","terms_url","app_icon_url"],"have_ready":[{"kind":"phone_for_2fa","description":"A mobile phone that can receive Meta's confirmation code.","why":"Registration sends confirmation codes to the phone and email you give; they also get important developer notifications.","needed_for":["register"],"auto_check":"none","source_url":"https://developers.facebook.com/docs/development/register"},{"kind":"domain_email","description":"A monitored email address for developer notifications and the app's contact email.","why":"Developer alerts, App Review results and Data Use Checkup deadlines go to it.","needed_for":["register","create-app"],"auto_check":"domain_email_mx","source_url":"https://developers.facebook.com/docs/development/create-an-app/app-dashboard/basic-settings"},{"kind":"app_icon","description":"An app icon without Meta trademarks or logos (meta/app-review asks for 1024x1024).","why":"Required before switching to Live mode.","needed_for":["basic-settings"],"auto_check":"none","source_url":"https://developers.facebook.com/docs/development/create-an-app/app-dashboard/basic-settings"},{"kind":"app_privacy_policy_url","description":"A public HTTPS privacy policy explaining what Meta data you process, why, and how users can ask for deletion.","why":"Required by Platform Terms section 4 and shown to users during Meta login.","needed_for":["basic-settings"],"auto_check":"website_live","source_url":"https://developers.facebook.com/terms/"},{"kind":"other","description":"A Terms of Service URL, an app category and the app purpose (your own business, or clients).","why":"Required fields before switching to Live mode.","needed_for":["basic-settings"],"auto_check":"none","source_url":"https://developers.facebook.com/docs/development/create-an-app/app-dashboard/basic-settings"}],"steps":[{"id":"register","title":"Register as a Meta developer","summary":"While logged in to Facebook, open the developer registration, agree to the Platform Terms and Developer Policies, enter the codes sent to your phone and email, and choose your occupation.","route":"guided","gate":"human_terms","human_only":true,"gate_label":"You accept the terms","depends_on":[],"optional":false,"url":"https://developers.facebook.com/","lead_time":{"official":null,"reported":null,"typical_minutes":5},"preflight":[],"captures":null},{"id":"create-app","title":"Create the app","summary":"Go to the app creation page, enter the app name and a contact email, pick the use cases you need (they can't be removed later), choose a business portfolio (or skip for now), review requirements such as App Review, and open the dashboard.","route":"copilot","gate":"human_submit","human_only":true,"gate_label":"You press submit","depends_on":["register"],"optional":false,"url":"https://developers.facebook.com/apps/creation/","lead_time":null,"preflight":["domain_has_mx"],"captures":null},{"id":"capture-credentials","title":"Copy the App ID and App Secret","summary":"In App Dashboard > Settings > Basic, copy the App ID and reveal the App Secret. Keep the secret on your server only.","route":"copilot","gate":"human_login","human_only":true,"gate_label":"You sign in","depends_on":["create-app"],"optional":false,"url":"https://developers.facebook.com/apps/","lead_time":null,"preflight":[],"captures":"META_APP_SECRET"},{"id":"basic-settings","title":"Complete Basic Settings","summary":"Fill in display name, contact email, privacy policy URL, terms of service URL, user data deletion instructions, app icon, category and app purpose. These are needed before Live mode and App Review.","route":"copilot","gate":"human_submit","human_only":true,"gate_label":"You press submit","depends_on":["create-app"],"optional":false,"url":"https://developers.facebook.com/apps/","lead_time":null,"preflight":["privacy_policy_reachable","app_icon_present"],"captures":null},{"id":"connect-business","title":"Connect the app to your business portfolio","summary":"In Settings > Basic > Verification, connect the app to the company's business portfolio (needed if the app touches data you don't own and for advanced access).","route":"guided","gate":"human_submit","human_only":true,"gate_label":"You press submit","depends_on":["create-app"],"optional":true,"url":"https://developers.facebook.com/apps/","lead_time":null,"preflight":[],"captures":null},{"id":"add-roles","title":"Add teammates and testers","summary":"Give colleagues admin, developer or tester roles. In Development mode only people with a role can use the app.","route":"guided","gate":"human_submit","human_only":true,"gate_label":"You press submit","depends_on":["create-app"],"optional":true,"url":null,"lead_time":null,"preflight":[],"captures":null},{"id":"go-live","title":"Switch to Live mode after App Review","summary":"Once App Review approves what you need, an app admin flips the mode toggle in the dashboard toolbar. Test data made in Development mode becomes visible to everyone.","route":"guided","gate":"human_submit","human_only":true,"gate_label":"You press submit","depends_on":["basic-settings"],"optional":true,"url":null,"lead_time":null,"preflight":[],"captures":null}],"gates":[{"step":"register","gate":"human_terms","label":"You accept the terms"},{"step":"create-app","gate":"human_submit","label":"You press submit"},{"step":"capture-credentials","gate":"human_login","label":"You sign in"},{"step":"basic-settings","gate":"human_submit","label":"You press submit"},{"step":"connect-business","gate":"human_submit","label":"You press submit"},{"step":"add-roles","gate":"human_submit","label":"You press submit"},{"step":"go-live","gate":"human_submit","label":"You press submit"}],"lead_times":[],"outputs":[{"name":"META_APP_ID","description":"Public App ID, included in every Graph API call and in client SDK config.","secret":false,"example_format":"1234567890123456","environments":null},{"name":"META_APP_SECRET","description":"App Secret used to generate app access tokens; server-side only.","secret":true,"example_format":"app secret string, e.g. 0123abcd…","environments":null}],"renewals":[{"what":"Data Use Checkup for apps that are Live with a use case or hold advanced access. Notice 60 days before the due date, reminders at 30, 10 and 3 days; a missed deadline deactivates the app with no extensions.","every":"1 year","every_days":365,"source_url":"https://developers.facebook.com/documentation/resp-plat-initiatives/individual-processes/data-use-checkup/faq"}],"estimated_minutes":5,"guide_url":"https://verapli.com/guides/meta/developer-app"}